变量与常量

  1. 变量名不能有空格以及标点符号
  2. 不能使用python的关键字
  3. 查看关键字
import keyword

print(keyword.kwlist)
  1. 大小写敏感
  2. 不建议使用内置的模块名,类名,函数名
  3. 开始不能是数字,最好不用"_"开头,因为它有特殊的含义

进制

二进制 0b1000 表示8

八进制 0o

十六进制 0x

注意:不要直接比较实数的大小,0.4-0.1==0.3返回的是False

4-1 ==3返回True

复数:

x=2+5j

y=3+8j

x.imag返回的是虚部

x.real返回的是实部

可以使用中文作为变量名

没有字符常量和变量的概念,只有字符串的概念,并且单个字符也是字符串,可以是’’

,也可以使用"",还可使用三个单引号,可以相互嵌套

x = '''Tom said "hello"'''
运行结果:'Tom said "hello"'

列表:可变,有序(可通过下标访问)

x = [1,2,3,4]

可以修改,通过下标索引修改

例如:x[2] = 5

则输出为:[1,2,5,4]

追加元素:x.append(0.7)

扩展元素:x2=[3,9]

​ x.extend(x2)

​ 输出:[2, 2, 5, 5, 0.7, 3, 9]

插入:x.insert(3,‘lukeewin’)

​ 输出:[2, 2, 5, ‘lukeewin’, 5, 0.7, 3, 9]

删除方法1:del x[3]

[2, 2, 5, 5, 0.7, 3, 9]

删除方法2:x.pop() 默认把最后一个删除,并且会输出被删除的元素

[2, 2, 5, 5, 0.7, 3]

删除指定的列表内容:x.remove(5) ,注意:若有多个相同的数,从头开始删除

[2, 2, 5, 0.7, 3]

同时修改多个值:使用切片,如:x[1:3]=[111,222]

[2, 111, 222, 0.7, 3]

内置函数

hex()转为16进制的字符串类型

int()转为数字类型

max()求最大值

min()求最小值

sum()求和

random(5)左闭右开区间,默认加一,是一个对象,要用list列表列出

list(random(5))

print()函数可以用逗号隔开,注意输出的是空格

eval()函数将字符串类型的数字转为数值类型,注意:一定要是数字类型的字符串

type()函数,用于查看类型

input()输入函数,可以指定输入的进制,也可以提示输入信息

input(“请输入”, 2) # 二进制输入

print()函数

image-20210317112857125

sorted()函数,从小到大排序

sort()函数

sort与sorted的区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

in 成员测试运算符:

3 in [1,2,3]
#返回True

大小比较

[1,2,4] > [1,2,3]
#返回True
[4,5,6] > [5,5,5]
#返回False

列表推导式

列表推导式的语法格式:

[表达式 for 变量 in 列表]

[表达式 for 变量 in 列表 if 条件]

[表达式1 if 条件 else 表达式2 for 变量 in 列表]

# 列表推导式
list1 = [' a',' b','c ']
[w.strip() for w in list1]
# 列表推导式
list2 = []
[i for i in range(10)]
# 等价于
list2 = []
for i in range(10):
    list2.append(i)
list2
# 保留正数
aList = [1,-1,2,-3]
[i for i in aList if i > 0]

切片

[start:end:step]
# start 开始,默认为0
# end 结束,不包括最后一个元素
# step 步长,默认为1
# 三个可以都省略,step可以是负数
# 当step为负数时,表示反向切片,这时star应该在end的右侧才行

元组

元组使用()表示

ex:x = (1,2,3)

关键字:tuple

注意:元组中只有一个元素时必须最后写上,

元组的访问:x[0] 与列表的访问形式一样

列表与元组的异同:

相同点:都是有序的,都支持用下标访问

不同点:元组是不可变的,列表是可变的

元组中不能调用append(),del(),remove()等函数

元组可以使用切片访问,但不能修改

元组的访问速度比较快

元组的应用:当字典的键,也可以作为集合的元素

生成器推导式

格式:()

注意与列表推导式的区别:

列表推导式生成的是:列表

生成器推导式生成的是:对象

好处:占用内存少,适合大数据处理

使用__next__()或者next()可以遍历元组中的元素

字典

使用"{}"或内置类dict()

==注意:==键是唯一的,值可以是多个,重复时,会覆盖。

z={'attack':5,'attack':6}# 会覆盖重复的
print(z)# {'attack': 6}

元素的访问:

aDict = {'age':18, 'address':'广东', 'name':'Lukeewin'}
aDict.get('name')

遍历键:

for k in aDict:
    print(k)

遍历值:

for v in aDict.values():
    print(v)

遍历键和值:

for k,v in aDict.items():
    print(k,v)

删除:

aDict.popitem()# 删除的是最后的键与值
aDict # {'age': 18, 'address': '广东'}

aDict.pop('age')# 指定要删除的键
aDict # {'address': '广东'}

添加键与值:

aDict['age'] = 20
aDict

集合

  1. 创建集合

    set()或{}

  2. 添加元素

    a = set()

    a.add(1)

  3. 删除

    pop()方法

    remove()方法

    discard()方法,删除没有的元素时会忽略异常

    clear()方法,删除整个集合元素

Q.E.D.


热爱生活,热爱程序