标签:出现 dict test and 5.6 one 打印 随机数生成器 数组
Python3支持int、float、bool、complex(复数)四种数值类型
可通过内置type函数来查询变量的对象类型
例:
>>> a,b,c,d = 1,2.1,True,1+2j
>>> print(type(a),type(b),type(c),type(d))
<class ‘int‘> <class ‘float‘> <class ‘bool‘> <class ‘complex‘>
>>>
还可以通过isinstance来判断
例:
>>> a
1
>>> isinstance(a,int)
True
>>>
type和isinstance的区别:
type()不会认为子类是一种父类类型,isinstance会认为子类是一种父类类型
例:
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> isinstance(A(),A)
True
>>> isinstance(B(),A)
True
>>> type(A())==A
True
>>> type(B())==A
False
>>>
>>> print(type(B()))
<class ‘__main__.B‘>
>>>
注解:A是B的父类,type(A())、type(type(B()))返回类型都是本身,而isinstance会将子类B认为是和父类A是一致的。
+(加) 、-(减)、*(乘)、/(除)、//(除)、%(求余)、**(乘方)
例:
>>> 1+2
3
>>> 1-2
-1
>>> 2*3
6
>>> 2/3
0.6666666666666666
>>> 2//3 ——返回整数
0
>>>
>>> 2//3.0
0.0
>>>
>>> 3%2
1
>>> 3**2
9
>>>
注解:整数除法中,除法 / 总是返回一个浮点数,// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
数据类型的转换,只需要将数据类型作为函数名即可
int(x)将x转换为一个整数
float(x)将x转换为一个浮点型
bool(x)将x转换为布尔型
complex(x)将x转换为复数,实部为x,虚部为0j
complex(x,y)将x,y转换为复数 x+yj
例:
>>> int(1.2)
1
>>> float(2)
2.0
>>> bool(3)
True
>>> bool(0)
False
>>> complex(1)
(1+0j)
>>> complex(1,2)
(1+2j)
>>>
abs(x)——返回数字x的绝对值
例:
>>> abs(-10)
10
>>>
ceil(x)——返回数字的上入整数
例:
>>> import math
>>> math.ceil(5.1)
6
>>>
exp(x)——返回e的x次幂
例:
>>> math.exp(2)
7.38905609893065
>>>
fabs(x)——返回x的绝对值
例:
>>> math.fabs(-10)
10.0
>>>
floor(x)——返回x的下舍整数
例:
>>> math.floor(5.6)
5
>>>
min(x1,x2…)——返回给定参数的最小值,参数可以为序列(为序列的时候,必须是所有的参数都为序列,如果是序列的时候,只比较第一个元素的大小)
例:
>>> min(1,2,0)
0
>>>
>>> min([1,2,100],[2,3,4])
[1, 2, 100]
>>> min([3,2,100],[2,3,4])
[2, 3, 4]
>>> min([2,2,100],[2,3,4])
[2, 2, 100]
>>>
max(x1,x2,x3…)——返回给定参数的最大值,用法和min函数类似
pow(x,y)——x**y的结果
sqrt(x)——返回数字x的平方根
数字、游戏、安全领域经常被嵌套到算法中
常用随机函数:
choice(req)——从序列的元素中随机挑选一个元素
例:
>>> import random
>>> random.choice([1,2,3,4])
1
>>> random.choice([1,2,3,4])
3
>>> random.choice([1,2,3,4])
4
>>>
randrange([start,] stop [,step])——从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
例:
>>> random.randrange(1,10,2)
1
>>> random.randrange(1,10,2)
9
>>>
seed(x)——改变随机数生成器的种子seed
shuffle(lst)——将序列的所有元素随机排序
例:
>>> lst = [1,2,3,4]
>>> random.shuffle(lst)
>>> lst
[3, 1, 2, 4]
>>>
uniform(x,y)——随机生成一个在x,y范围之内的实数
例:
>>> random.uniform(1,10)
2.7256969359576955
>>>
不可表数据类型
转义字符 |
描述 |
\(在行尾时) |
续行符 |
\\ |
反斜杠符号 |
\’ |
单引号 |
\” |
双引号 |
\a |
响铃 |
\b |
退格 |
\e |
转义 ? |
\000 |
空 |
\n |
换行 |
\v |
纵向制表符 |
\t |
横向制表符 |
\r |
回车 |
\f |
换页 |
\oyy |
八进制数,yy代表 |
\xyy |
十六进制 |
\other |
其他字符以普通的格式输出 |
操作符 |
描述 |
举例 |
+ |
字符串连接 |
>>> "w"+"x"+"p" ‘wxp‘ |
* |
重复输出 |
>>> "w"*3 ‘www‘ |
[] |
通过索引获取字符串中字符 |
>>> "wxp"[0] ‘w‘ |
[:] |
截取字符串中的一部分,遵循左闭右开原则 |
>>> "wxp"[0:2] ‘wx‘ |
in |
成员运算符,如果字符串包含给定的字符,则返回True |
>>> "w" in "wxp" True |
not in |
成员运算符,如果字符串不包含给定的字符,则返回True |
|
r/R |
原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
|
>>> print(r"\n\r\t") \n\r\t >>> |
% |
格式字符串 |
|
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
Python字符串格式化符号
符号 |
描述 |
%c |
格式化字符及其ascii码 |
%s |
格式化字符串 |
%d |
格式化整数 |
%u |
格式化无符号整型 |
%o |
格式化八进制数 |
%x |
格式化十六进制数 |
格式化辅助指令
符号 |
描述 |
- |
用作左对齐 |
+ |
在正数前面显示加号(+),右对齐 |
% |
‘%%’输出一个单一的’%’ |
m.n |
M是显示的最小总宽度,n是小数点后的位数 |
例:
>>> "%-10.3f%%"%12.45454
‘12.455 %‘
>>> "%+10.3f%%"%12.45454
‘ +12.455%‘
>>>
字符串表示可以用单引号、双引号、三引号表示。
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
序号 |
方法及描述 |
1 |
capitalize() |
|
将字符串的第一个字符转换为大写 例: >>> "hello".capitalize() ‘Hello‘ |
2 |
|
|
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 例: >>> "hello".center(30,‘y‘) ‘yyyyyyyyyyyyhelloyyyyyyyyyyyyy‘ |
3 |
|
|
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 >>> "hello".count("l") 2 >>> "hello".count("l",3) 1 |
4 |
|
|
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 |
5 |
|
|
以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是‘ignore‘或者‘replace‘ 例: >>> "你好".encode(encoding=‘utf-8‘,errors=‘strict‘) b‘\xe4\xbd\xa0\xe5\xa5\xbd‘ |
6 |
|
|
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
7 |
|
|
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。 |
8 |
|
|
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 例: >>> "hello".find(‘l‘) 2 |
9 |
|
|
跟find()方法一样,只不过如果str不在字符串中会报一个异常. |
10 |
|
|
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
11 |
|
|
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
12 |
|
|
如果字符串只包含数字则返回 True 否则返回 False.. |
13 |
|
|
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
14 |
|
|
如果字符串中只包含数字字符,则返回 True,否则返回 False |
15 |
|
|
如果字符串中只包含空白,则返回 True,否则返回 False. |
16 |
|
|
如果字符串是标题化的(见 title())则返回 True,否则返回 False |
17 |
|
|
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
18 |
|
|
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 例: >>> " ".join(‘hello‘) ‘h e l l o‘ >>> " ".join([‘h‘,‘e‘,‘l‘,‘l‘,‘o‘]) ‘h e l l o‘ >>> " ".join([‘h‘,‘e‘,‘l‘,‘l‘,1]) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: sequence item 4: expected str instance, int found >>>
备注:传入的参数是一个序列,并且序列中的元素必须是字符串 |
19 |
|
|
返回字符串长度 |
20 |
|
|
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 |
21 |
|
|
转换字符串中所有大写字符为小写. |
22 |
|
|
截掉字符串左边的空格或指定字符。 |
23 |
|
|
创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 >>> ret = "hello".maketrans(‘h‘,‘a‘) >>> "hello".translate(ret) ‘aello‘ >>> 注解:先用maketrans做映射,然后再用translate方法进行替换 |
24 |
|
|
返回字符串 str 中最大的字母。 |
25 |
|
|
返回字符串 str 中最小的字母。 |
26 |
|
|
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。 |
27 |
|
|
类似于 find()函数,不过是从右边开始查找. |
28 |
|
|
类似于 index(),不过是从右边开始. |
29 |
|
|
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 |
30 |
|
|
删除字符串字符串末尾的空格. |
31 |
|
|
num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 例: >>> "hello".split(‘e‘) [‘h‘, ‘llo‘] |
32 |
|
|
按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
33 |
|
|
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 |
34 |
|
|
在字符串上执行 lstrip()和 rstrip() |
35 |
|
|
将字符串中大写转换为小写,小写转换为大写 |
36 |
|
|
返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
37 |
|
|
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中 |
38 |
|
|
转换字符串中的小写字母为大写 |
39 |
|
|
返回长度为 width 的字符串,原字符串右对齐,前面填充0 |
40 |
|
|
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 |
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
注:创建一个元素的列表时一定要在元素后面加一个逗号
[1,]——一个元素的列表
Len()、+、*、in
列表函数
序号 |
函数 |
1 |
len(list) |
2 |
max(list) |
3 |
min(list) |
4 |
List(seq) |
列表方法(列表的方法必须全部掌握)
序号 |
方法 |
1 |
list.append(obj) |
在列表末尾添加新的对象 |
|
2 |
|
统计某个元素在列表中出现的次数 |
|
3 |
|
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
|
4 |
|
从列表中找出某个值第一个匹配项的索引位置 |
|
5 |
|
将对象插入列表 |
|
6 |
|
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
|
7 |
|
移除列表中某个值的第一个匹配项 |
|
8 |
|
反向列表中元素 |
|
9 |
|
对原列表进行排序 |
|
10 |
|
清空列表 |
|
11 |
|
复制列表 |
元组与列表类似,不同之处在于元组的元素不能修改
在括号中添加元素,元素用逗号隔开即可创建元组
和列表类似
内建函数:len、min、max、tuple
方法:count、index
字典的每个键值对(key=>value)用冒号(:)分割,每个键值对之间用逗号隔开,整个字典都在花括号中
键必须是唯一的且不可变
字典中的值是通过键来进行访问的
字典内置函数
len——计算字典元素个数,即键的总数
str——输出字典,以可打印的字符串表示
例:
>>> dict = {"H":1,"O":2}
>>> str(dict)
"{‘H‘: 1, ‘O‘: 2}"
>>>
>>> dict(name="wxp",score=100)
{‘name‘: ‘wxp‘, ‘score‘: 100}
>>>
字典方法
序号 |
函数及描述 |
1 |
radiansdict.clear() |
删除字典内所有元素 |
|
2 |
|
返回一个字典的浅复制 |
|
3 |
|
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
|
4 |
|
返回指定键的值,如果值不在字典中返回default值 |
|
5 |
|
如果键在字典dict里返回true,否则返回false |
|
6 |
|
以列表返回可遍历的(键, 值) 元组数组 |
|
7 |
|
返回一个迭代器,可以使用 list() 来转换为列表 |
|
8 |
|
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
|
9 |
|
把字典dict2的键/值对更新到dict里 |
|
10 |
|
返回一个迭代器,可以使用 list() 来转换为列表 |
|
11 |
|
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
|
12 |
|
随机返回并删除字典中的一对键和值(一般删除末尾对)。 |
集合里面的元素只能放不可变对象
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合
唯一性和无序性
{}——这个是字典
a=set()——空集合
集合运算:交(&)、并(|)、差(-)
例:
>>> a=set([1,2,3,4])
>>> b=set([2,3,4,5])
>>> a&b
{2, 3, 4}
>>> a|b
{1, 2, 3, 4, 5}
>>> a-b
{1}
方法 |
描述 |
add() |
为集合添加元素 |
移除集合中的所有元素 |
|
拷贝一个集合 |
|
返回多个集合的差集 |
|
移除集合中的元素,该元素在指定的集合也存在。 |
|
删除集合中指定的元素 |
|
返回集合的交集 |
|
删除集合中的元素,该元素在指定的集合中不存在。 |
|
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
|
判断指定集合是否为该方法参数集合的子集。 |
|
判断该方法的参数集合是否为指定集合的子集 |
|
随机移除元素 |
|
移除指定元素 |
|
返回两个集合中不重复的元素集合。 |
|
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
|
返回两个集合的并集 |
|
给集合添加元素(接收的参数是一个序列) |
例:
>>> testSet1=testSet.copy()
>>> testSet1
{1, 2, 3, 4}
>>> testSet
{1, 2, 3, 4}
>>> testSet.add(5)
>>> testSet1
{1, 2, 3, 4}
>>> testSet
{1, 2, 3, 4, 5}
>>> testSet.difference(testSet1)
{5}
>>>
>>> testSet.update([6,7,8])
>>> testSet
{1, 2, 3, 4, 5, 6, 7, 8}
>>>
标签:出现 dict test and 5.6 one 打印 随机数生成器 数组
原文地址:https://www.cnblogs.com/2366269846-wxp/p/9975093.html