变量与常量
- 变量名不能有空格以及标点符号
- 不能使用python的关键字
- 查看关键字
import keyword
print(keyword.kwlist)
- 大小写敏感
- 不建议使用内置的模块名,类名,函数名
- 开始不能是数字,最好不用"_"开头,因为它有特殊的含义
进制
二进制 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()函数
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
集合
-
创建集合
set()或{}
-
添加元素
a = set()
a.add(1)
-
删除
pop()方法
remove()方法
discard()方法,删除没有的元素时会忽略异常
clear()方法,删除整个集合元素
Q.E.D.