Python有六个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Set(集合)
- Tuple(元组)
- Dictionary(字典)
运算符
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| 乘,除,求余数和取整除 |
+ - | 加法减法 |
| 右移,左移运算符 |
& | 位 ‘AND’ |
^ | | 位运算符 |
| 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
| 身份运算符 |
| 成员运算符 |
| 逻辑运算符 |
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
数字
函数 | 返回值 ( 描述 ) |
返回数字的绝对值,如abs(-10) 返回 10 | |
返回数字的绝对值,如math.fabs(-10) 返回10.0 | |
返回给定参数的最大值,参数可以为序列。 | |
返回给定参数的最小值,参数可以为序列。 | |
x**y 运算后的值。 | |
返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。 其实准确的说是保留值将保留到离上一位更近的一端。 | |
返回数字x的平方根。 |
随机数函数 | 描述 |
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 | |
[randrange (start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
随机生成下一个实数,它在[0,1)范围内。 | |
[seed(x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
将序列的所有元素随机排序 | |
随机生成下一个实数,它在[x,y]范围内。 |
字符串
操作符 | 描述 | 实例 |
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | ‘H’ in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | ‘M’ not in a 输出结果 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
|
% | 格式字符串 | 请看下一节内容。 |
Python 的字符串内建函数
join、split、count、find、index
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
# a-b-c
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( ); # 以空格为分隔符,包含 \n
print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
# ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
# ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
str1 = "this is string example....wow!!!";
str2 = "exam";
print str1.find(str2);
print str1.find(str2, 10);
print str1.find(str2, 40);
# 15
# 15
# -1
# index()该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常
方法 | 描述 |
将字符串的第一个字符转换为大写 | |
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 | |
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 | |
以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’ | |
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 | |
跟find()方法一样,只不过如果str不在字符串中会报一个异常。 | |
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False | |
如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False | |
如果字符串只包含数字则返回 True 否则返回 False… | |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False | |
如果字符串中只包含数字字符,则返回 True,否则返回 False,Unicode 数字,全角数字(双字节),罗马数字,汉字数字。指数类似 ² 与分数类似 ½ 也属于数字。 | |
如果字符串中只包含空白,则返回 True,否则返回 False. | |
如果字符串是标题化的(见 title())则返回 True,否则返回 False | |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False | |
返回字符串长度 | |
转换字符串中所有大写字符为小写. | |
截掉字符串左边的空格或指定字符。 | |
返回字符串 str 中最大的字母。 | |
返回字符串 str 中最小的字母。 | |
把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。 | |
类似于 find()函数,不过是从右边开始查找. | |
类似于 index(),不过是从右边开始. | |
删除字符串字符串末尾的空格. | |
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)连接为一个新的字符串 | |
以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串 | |
检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 | |
在字符串上执行 lstrip()和 rstrip() | |
将字符串中大写转换为小写,小写转换为大写 | |
40 | isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 |
列表
查找、切片、
更新.append()
删除 del
- 列表脚本操作符
Python 表达式 | 结果 | 描述 |
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
[‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
Python包含以下函数:
序号 | 函数 |
1 | len(list) 列表元素个数 |
2 | max(list) 返回列表元素最大值 |
3 | min(list) 返回列表元素最小值 |
4 | list(seq) 将元组转换为列表 |
Python包含以下方法:
append、extend、index、insert、reverse、sort
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
# 更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
list1 = ['Google', 'Runoob', 'Taobao']
list2=list(range(5)) # 创建 0-4 的列表
list1.extend(list2) # 扩展列表
print ("扩展后的列表:", list1)
# 扩展后的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
list1 = ['Google', 'Runoob', 'Taobao', 'Facebook', 'QQ']
# 从指定位置开始搜索
print ('Runoob 索引值为', list1.index('Runoob',1))
# Runoob 索引值为 1
序号 | 方法 |
在列表末尾添加新的对象 | |
统计某个元素在列表中出现的次数 | |
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) | |
从列表中找出某个值第一个匹配项的索引位置(不能在重复列表中找索引) | |
将对象插入列表 | |
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 | |
移除列表中某个值的第一个匹配项 | |
反向列表中元素 | |
对原列表进行排序 | |
清空列表 | |
复制列表,返回复制后的新列表 |
元祖
Python元组包含了以下内置函数
序号 | 方法及描述 | 实例 |
1 | len(tuple) 计算元组元素个数。 |
|
2 | max(tuple) 返回元组中元素最大值。 |
|
3 | min(tuple) 返回元组中元素最小值。 |
|
4 | tuple(iterable) 将可迭代系列转换为元组。 |
|
字典
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
Python字典包含了以下内置函数:
序号 | 函数及描述 | 实例 |
1 | len(dict) 计算字典元素个数,即键的总数。 |
|
2 | str(dict) 输出字典,以可打印的字符串表示。 |
|
3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 |
|
Python字典包含了以下内置方法:
get、setdefault、
items、keys、values
dict = {'Name': 'Runoob', 'Age': 7}
print ("Age 键的值为 : %s" % dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" % dict.setdefault('Sex', None))
print ("新字典为:", dict)
"""
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Age': 7, 'Name': 'Runoob', 'Sex': None}
"""
方法 | 描述 |
删除字典内所有元素 | |
返回一个字典的浅复制 | |
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 | |
返回指定键的值,如果键不在字典中返回 default 设置的默认值 | |
如果键在字典dict里返回true,否则返回false | |
以列表返回可遍历的(键, 值) 元组数组 | |
返回一个迭代器,可以使用 list() 来转换为列表 | |
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default | |
把字典dict2的键/值对更新到dict里 | |
返回一个迭代器,可以使用 list() 来转换为列表 | |
[pop(key,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
随机返回并删除字典中的最后一对键和值。 |
集合
添加 s.add(x)、s.update(x)
移除 s.remove(x)、s.discard(x)
随机删除 s.pop() 集合内置方法完整列表
方法 | 描述 |
为集合添加元素 | |
移除集合中的所有元素 | |
拷贝一个集合 | |
返回多个集合的差集 | |
移除集合中的元素,该元素在指定的集合也存在。 | |
删除集合中指定的元素,若不存在则不报错 | |
返回集合的交集 | |
返回集合的交集。 | |
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 | |
判断指定集合是否为该方法参数集合的子集。 | |
判断该方法的参数集合是否为指定集合的子集 | |
随机移除元素 | |
移除指定元素,若不存在,报错 | |
返回两个集合中不重复的元素集合。 | |
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 | |
返回两个集合的并集 | |
给集合添加元素 |