数据类型:
-
整数
-
浮点数 但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代【整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差】
-
字符串 如果字符串中包含 ‘ ,则用“”来标识,如果字符串中包含 “ ,则用转义字\来标识; Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
-
布尔值 一个布尔值只有True、False两种,布尔值可以用and、or和not运算
-
空值 none
-
set 是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
- 要创建一个set,需要提供一个list作为输入集合:s = set([1, 2, 3])
- 重复元素在set中自动被过滤
- 通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
- 通过remove(key)方法可以删除元素
- set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集( s1 & s2 )、并集( s1 | s2 )等操作
-
列表
list [ ]是一种有序的集合,可以随时添加和删除其中的元素 ;list里面的元素的数据类型也可以不同;l ist元素也可以是另一个list
- 获取list长度:len()
- 查看第一个值list[0]
- 查看list的最后一个值list[-1]
- 往list中追加元素到末尾 list.append("值")
- 把元素插入到指定的位置,比如索引号为1的位置 list.insert(1,"值")
- 删除list末尾的元素,用pop()方法
- 删除指定位置的元素,用pop(i)方法,其中i是索引位置
- 把某个元素替换成别的元素,可以直接赋值给对应的索引位置 list[1] = "值"
- 切片list[2:-2],符合前闭后开,第三个值到倒数第三个值
- list的索引 start:stop:step
tuple ( )有序列表元组,tuple一旦初始化就不能修改
- 获取元素的方法和list是一样的,可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
- 只有1个元素的tuple定义时必须加一个逗号,来消除歧义
-
字典dict 使用键-值(key-value)存储,具有极快的查找速度; dict内部存放的顺序和key放入的顺序是没有关系的
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
# 把数据放入dict的方法,除了初始化时指定外,还可以通过key放入
d['Adam'] = 67
# 由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
#要避免key不存在的错误,有两种办法,一是通过in判断key是否存在
>>> 'Thomas' in d
False
#二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
#要删除一个key,用pop(key)方法,对应的value也会从dict中删除
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
变量
变量名必须是大小写英文、数字和_的组合,且不能用数字开头
常量
用全部大写的变量名表示常量只是一个习惯上的用法
要计算str包含多少个字符,可以用len()函数
格式化
- 占位符
常见的占位符
-
使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}...
-
使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换
条件判断
IF:根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。注意不要少写了冒号: if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
INPUT: input()返回的数据类型是str,str不能直接和整数比较,如果需要比较,必须先把str转换成整数
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
循环
- for x in list : 依次把list或tuple中的每个元素迭代出
- while循环 只要条件满足,就不断循环,条件不满足时退出循环
- break 在循环中,break语句可以提前退出循环
- continue 在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环
函数:
- range()函数,可以生成一个整数序列
- 空函数 如果想定义一个什么事也不做的空函数,可以用pass语句,还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来
- 可变参数 : nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。*nums
- 关键字参数 :允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict **kw
- 命名关键字参数:和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。def person(name, age, *, city, job) 命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错
- 参数组合:在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数