数据类型和变量
字符串
- 字符串可以用单引号
''或双引号""包裹。 - 转义字符
\。 - 在引号前加上前缀
r表示引号内的字符串默认不转义。 - 多行字符串用
'''...'''(三个引号)来表示,也支持r前缀。
布尔值
- 布尔值只有两个:
True和False。 - 布尔值用
and、or和not计算。
空值
- 空值用
None表示。
变量
- 变量名是大小写字母、数字和下划线的组合,并且不能以数字开头。
常量
习惯上用全部大写的变量名表示常量,如PI。
字符串和编码
-
ord()函数可以获取单个字符的整数表示,chr()函数可以将整数编码转换为字符。
>>> ord('中')
20013
>>> chr(20013)
'中'
>>>
- 知道了字符的编码就可以用十六进制的字符编码写字符串
>>> '\u4e2d'
'中'
-
bytes类型的数据用带前缀b的引号表示。以Unicode表示的str可以用encode()方法编码为
指定的bytes。
>>> s = '中'
>>> print(s.encode('utf-8'))
b'\xe4\xb8\xad'
-
bytes可以用decode()方法变为str。
>>> b'\xe4\xb8\xad'.decode('utf-8')
'中'
-
len()函数计算str的字符数或bytes的字节数。
>>> len('中')
1
>>> len(b'\xe4\xb8\xad')
3
>>> len(b'\xe4\xb8\xad'.decode('utf-8'))
1
- 输出格式化字符串方法与C语言相同,用
%实现。只有一个占位符时%后可以省略括号。
>>> 'hello %s' % 'Alex'
'hello Alex'
>>> 'hello %s and %s' % ('Alex', 'Veronica')
'hello Alex and Veronica'
常见占位符
%d 整数
%s 字符串
%f 浮点数
%x 十六进制整数
list和tuple
list列表
- 声明:
classmates = ['Alex', 'Veronica', 'Bob'] - 用索引可以直接访问
list中的元素,索引-1访问最后一个元素 -
len()函数计算list中元素个数 -
append()向末尾添加元素 -
insert(index,el)向制定索引处插入元素 -
pop()不带参数删除末尾的元素,带参数删除指定索引出的元素
classmates = ['Alex', 'Veronica', 'Bob']
print(classmates)
# ['Alex', 'Veronica', 'Bob']
classmates.append('aaa')
print(classmates)
# ['Alex', 'Veronica', 'Bob', 'aaa']
classmates.insert(2, 'bbb')
print(classmates)
# ['Alex', 'Veronica', 'bbb', 'Bob', 'aaa']
print(classmates.pop())
# aaa
print(classmates.pop(1))
# Veronica
tuple元组
- 元组不可变,申明时必须将元素确定
- 定义只有一个元素的元组时必须加一个逗号
- 不可变是指元组每个元素的指向不变
循环
-
break结束整个循环 -
continue跳出本次循环并继续执行循环体
dict与set
dict
- 键值对的集合
- 声明:
d = {'michale': 95,'Bob': 75,'Tracy': 85} - 检测键是否存在
- 用
in判断
>>> 'Bob' in d True >>> 'aaa' in d False-
get()函数,存在时返回键值,不存在时返回None或指定值。
>>> d.get('Bob') 75 >>> d.get('aaa') >>> d.get('aaa',-1) -1 - 用
- 删除指定键及键值用
pop()函数
set
- 键的集合
- 声明:
- 直接声明
>>> s = {1,2,3,4} >>> s {1, 2, 3, 4}- 用
set()函数,传入一个list
>>> s = set([1,2,3,4,5]) >>> s {1, 2, 3, 4, 5} - 重复的元素会被过滤
- 用
add()添加元素,用remove()删除元素 - 可做数学意义上的交并集操作