Python有六个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Set(集合)
  • Tuple(元组)
  • Dictionary(字典)

运算符

运算符

描述

**

指数 (最高优先级)

~ + -

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,求余数和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位 ‘AND’

^ |

位运算符

<= >=

比较运算符

== !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

数字

函数

返回值 ( 描述 )

abs(x)

返回数字的绝对值,如abs(-10) 返回 10

fabs(x)

返回数字的绝对值,如math.fabs(-10) 返回10.0

max(x1, x2,…)

返回给定参数的最大值,参数可以为序列。

min(x1, x2,…)

返回给定参数的最小值,参数可以为序列。

pow(x, y)

x**y 运算后的值。

round(x [,n])

返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。 其实准确的说是保留值将保留到离上一位更近的一端。

sqrt(x)

返回数字x的平方根。

随机数函数

描述

choice(seq)

从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

[randrange (start,] stop [,step])

从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1

random()

随机生成下一个实数,它在[0,1)范围内。

[seed(x])

改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。

shuffle(lst)

将序列的所有元素随机排序

uniform(x, y)

随机生成下一个实数,它在[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(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

print( r'\n' ) print( R'\n' )

%

格式字符串

请看下一节内容。

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中会报一个异常

方法

描述

capitalize()

将字符串的第一个字符转换为大写

count(str, beg= 0,end=len(string))

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

bytes.decode(encoding=“utf-8”, errors=“strict”)

Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

encode(encoding=‘UTF-8’,errors=‘strict’)

以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’

find(str, beg=0, end=len(string))

检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在字符串中会报一个异常。

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

isalpha()

如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False

isdigit()

如果字符串只包含数字则返回 True 否则返回 False…

islower()

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False,Unicode 数字,全角数字(双字节),罗马数字,汉字数字。指数类似 ² 与分数类似 ½ 也属于数字。

isspace()

如果字符串中只包含空白,则返回 True,否则返回 False.

istitle()

如果字符串是标题化的(见 title())则返回 True,否则返回 False

isupper()

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

len(string)

返回字符串长度

lower()

转换字符串中所有大写字符为小写.

lstrip()

截掉字符串左边的空格或指定字符。

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

replace(old, new [, max])

把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。

rfind(str, beg=0,end=len(string))

类似于 find()函数,不过是从右边开始查找.

rindex( str, beg=0, end=len(string))

类似于 index(),不过是从右边开始.

rstrip()

删除字符串字符串末尾的空格.

join(seq)

以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)连接为一个新的字符串

split(str=“”, num=string.count(str))

以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串

startswith(substr, beg=0,end=len(string))

检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

strip([chars])

在字符串上执行 lstrip()和 rstrip()

swapcase()

将字符串中大写转换为小写,小写转换为大写

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

序号

方法

list.append(obj)

在列表末尾添加新的对象

list.count(obj)

统计某个元素在列表中出现的次数

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置(不能在重复列表中找索引

list.insert(index, obj)

将对象插入列表

list.pop([index=-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.remove(obj)

移除列表中某个值的第一个匹配项

list.reverse()

反向列表中元素

list.sort( key=None, reverse=False)

对原列表进行排序

list.clear()

清空列表

list.copy()

复制列表,返回复制后的新列表

元祖

Python元组包含了以下内置函数

序号

方法及描述

实例

1

len(tuple) 计算元组元素个数。

>>> tuple1 = ('Google', 'Runoob', 'Taobao')>>> len(tuple1) 3

>>>

2

max(tuple) 返回元组中元素最大值。

>>> tuple2 = ('5', '4', '8')>>> max(tuple2) '8'

>>>

3

min(tuple) 返回元组中元素最小值。

>>> tuple2 = ('5', '4', '8')>>> min(tuple2) '4'

>>>

4

tuple(iterable) 将可迭代系列转换为元组。

>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']>>> tuple1=tuple(list1)

>>> tuple1 ('Google', 'Taobao', 'Runoob', 'Baidu')

字典

键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

Python字典包含了以下内置函数:

序号

函数及描述

实例

1

len(dict) 计算字典元素个数,即键的总数。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> len(dict) 3

2

str(dict) 输出字典,以可打印的字符串表示。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> str(dict) "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

3

type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> type(dict) <class 'dict'>

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}
"""

方法

描述

radiansdict.clear()

删除字典内所有元素

radiansdict.copy()

返回一个字典的浅复制

radiansdict.fromkeys()

创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.get(key, default=None)

返回指定键的值,如果键不在字典中返回 default 设置的默认值

key in dict

如果键在字典dict里返回true,否则返回false

radiansdict.items()

以列表返回可遍历的(键, 值) 元组数组

radiansdict.keys()

返回一个迭代器,可以使用 list() 来转换为列表

radiansdict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

radiansdict.update(dict2)

把字典dict2的键/值对更新到dict里

radiansdict.values()

返回一个迭代器,可以使用 list() 来转换为列表

[pop(key,default])

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

popitem()

随机返回并删除字典中的最后一对键和值。

集合

添加 s.add(x)、s.update(x)
移除 s.remove(x)、s.discard(x)
随机删除 s.pop() 集合内置方法完整列表

方法

描述

add()

为集合添加元素

clear()

移除集合中的所有元素

copy()

拷贝一个集合

difference()

返回多个集合的差集

difference_update()

移除集合中的元素,该元素在指定的集合也存在。

discard()

删除集合中指定的元素,若不存在则不报错

intersection()

返回集合的交集

intersection_update()

返回集合的交集。

isdisjoint()

判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

issubset()

判断指定集合是否为该方法参数集合的子集。

issuperset()

判断该方法的参数集合是否为指定集合的子集

pop()

随机移除元素

remove()

移除指定元素,若不存在,报错

symmetric_difference()

返回两个集合中不重复的元素集合。

symmetric_difference_update()

移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

union()

返回两个集合的并集

update()

给集合添加元素