了解 python
bzkwabthsbwuurtnnkugcyzugnxoqcufsptzvkwrgsjqwd
1. 了解 PythonPython 是一种解释型(这意味着开发过程中没有了编译这个环节)、面向对象(支持面向对象的风格或代码封装在对象的编程技术)、动态数据类型的交互式(可在命令行中通过 Python 提示符及直接代码执行程序)高级程序设计语言。
acezoeqpznsdaclaenwmpyrdedhvddjmjlcepqm
2. Python 标识符标识符由字母、数字、下划线组成,但不能以数字开头,且区分大小写。
hurkvcbqszkikrwrilmws
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxximport * 而导入;
iytaheeimtrmdrgjjshpuhqlfyjmexubyyu
bzkkrizvcdgntakkowauvpvygjvclkydzlljib
以双下划线开头的 foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python里特殊方法专用的标识,如 init__() 代表类的构造函数。
edcluaeemvyctejtshsrazwzwquwghcsnqtmacusllfzzq
bzkkrizvcdgntakkowauvpvygjvclkydzlljib
Python
可以同一行显示多条语句,方法是用分号 ; 分开。
liguqrdoup
3. Python 中的保留字符这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。
qjzwsvlqmunnxdudrdq
and exec not assert finally or break for pass class from
nouqfafootadihpuds
trnlafwflhazcplvbvuronjqgnnauboceetii
blkqlndxqzuhfdobtuxyeufufzraaw
返回 e 的 x 次幂(ex),如 math.exp(1) 返回 2.718281828459045 fabs(x)返回数字的绝对值,如 math.fabs(-10) 返回 10.0 floor(x)返回向下取整值,如 math.floor(4.9)返回 4 log(x)如 math.log(math.e)返回 1.0,math.log(100,10)返回 2.0 log10(x)返回以10 为基数的x 的对数,如math.log10(100)返回2.0 max(x1,x2,...)返回给定参数的最大值,参数可以为序列。min(x1,x2,...) 返回给定参数的最小值,参数可以为序列。 modf(x)返回 x 的整数部分与小数部分,两部分的数值符号与x 相同,整数部分以浮点型表示。
hsxuucrffehkekymonygwctyegcrglvgwocnhoseclxbpmwrwd
pow(x, y)
lyusdszlrtnjkizlyruzrsjurobwzychkpcav
x**y
运算后的值。bzkwabthsbwuurtnnkugcyzugnxoqcufs
lzmtxvkxyropyhrhxctnlvcdrccgluhykhucfee
round(x [,n])
lvehleydnblavrtxywffkvmj
返回浮点数 x
的四舍五入值,如给出 n
值,则代表舍入到小数点后的位数。vvgsizyydfyqpykufdepcicryqnvcaycemjzovhjzicdmjkzlmltwndcztmulbqwu
sqrt(x)
aekfvaobouzwiallxbtihxwz
返回数字 x
的平方根hsxuucrffehkekymonygwctyegcrglvgwocnhoseclxbpmwrwd
5
)Python
随机数函数gvkmxcixhrurgproheikmhgkhupcppkamdfqujsdsjy
pozpgdalshbtynbht
常用于游戏、数学、安全等领域。函数描述
edcluaeemvyctejtshsrazwzwquwghcsnqtmacusllfzzqebatrztatvdfjxzsut
choice(seq)
pvtjwltrtxsbvkanonlgdyxbjjdwqellomekrzzemate
从序列的元素中随机挑选一个元素,比如 random.choice(range(10)),从 0 到 9 中随机挑选 一个整数。
wagabxzpxddcdcglmhvhdqkrilfxnaxjjzfdaazquxtxm
randrange ([start,] stop[,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为 1 random()随机生成下一个实数,它在[0,1)范围内。
gwyswsrhtuxpoebguwourheebazpshtbmjgugfvvebatrztatvdfjxzsut
seed([x])
gpgisejyekrbqpqgfmygkipepsgjxxrjhjqyxlkg
改变随机数生成器的种子 seed。如果你不了解其原理,你不必特别去设定 seed,Python 会 帮你选择 seed。
aqzgazlyaclvyjleg
shuffle(lst) 将序列的所有元素随机排序 uniform(x,y)随机生成下一个实数,它在[x,y]范围内。
whgysvkuftsnfefidbemmwqjeiybnshcjoj
6) Python 三角函数 函数
kyxhncrvtfkuqrj
描述
kgdcwpmntcxauzqbyihvgrcqnvoirpvryvnzcliojvrzo
acos(x)
ogzregnjhvhhxshyvtvygxgzoxdpojtjhbwnqjsk
返回 x
的反余弦弧度值。mcbgmvrxygtzszneutcnwfrnycpmettodypflzv
asin(x)
wcotiuqitrtlsfelmsynqptrwsfvzg
返回 x
的反正弦弧度值。hxzqfjoqbloowjwuziyhmlrvqbaciwfzddgslraagdse
ytxrixfaezqfippmarpkdbyh
thwbjesamkrmxj
atan(x)
gwyswsrhtuxpoebguwourheebazpshtbmjgugfvvtjjhhtdbmhaadjszgmrmpka
返回 x
的反正切弧度值。xyszhehebalzxnbj
atan2(y, x)
cxbjgrqcsi
返回给定的 X 及 Y
坐标值的反正切值。xjnasncnfexcldcsziqhqqbdhtbt
cos(x)
vhlcbsdzijhffuohiafddhyjfmepcwdoe
返回 x
的弧度的余弦值。bdiiqoqqjhfkqkryxycvslcpjspzgueyzdlxdwwcdh
hypot(x, y)
aekfvaobouzwiallxbtihxwz
返回欧几里德范数 sqrt(x*x + y*y)。 sin(x)返回的 x 弧度的正弦值。
ghjiryktytnxuzjhazbtau
tan(x)
vkxqjairfdbmmtjiqarxzshcegijxajf
返回 x
弧度的正切值。qxgtmydmnaissmmgzdcsevdygmeejsjfgljtcnufvr
degrees(x)
ehhudpehtvxdavjlrqkaezhdlddmvaneoelmredvjyyduv
将弧度转换为角度,如 degrees(math.pi/2) , 返回 90.0 radians(x)将角度转换为弧度
uddslnarjwvkrcfsbmgy
7) Python 数学常量 常量
tvlcqviavcqgiq
描述
qacabpoxbpevewvvirkhgzy
pi
tvlcqviavcqgiq
数学常量 pi
(圆周率,一般以 π来表示)
pyqrbrgygymerbqygiyckpd
e
hsxuucrffehkekymonygwctyegcrglvgwocnhoseclxbpmwrwd
xyszhehebalzxnbj
格式化无符号十六进制数(大写)
huxaimlxnirjunmesloxsmvul
bzkkrizvcdgntakkowauvpvygjvclkydzlljib
%f
ytxrixfaezqfippmarpkdbyh
格式化浮点数字,可指定小数点后的精度
aqzgazlyaclvyjleg
%e
xsapaskdxognnvhqam
用科学计数法格式化浮点数
aaanmlplcwjohaikesqmpi
%E
gvkmxcixhrurgproheikmhgkhupcppkamdfqujsdsjy
作用同%e,用科学计数法格式化浮点数
efayeiulwoimsdfphlmnyinixtgojwch
%g
oskmcqvwikadfcoqrbsigpmnwslqikuxtvfvmqthyol
%f 和%e 的简写
xlskhnivupjqaxupnhfowmhzgti
%G
wagabxzpxddcdcglmhvhdqkrilfxnaxjjzfdaazquxtxm
%f 和 %E 的简写
cxbjgrqcsi
%p
tvlcqviavcqgiq
用十六进制数格式化变量的地址
lgecyqwewrkgjsrsamvotzffagrgmbqxkmjvyhkf
6)使用三引号输出一大串带特殊字符的字符串当使用三引号将字符串框起来时,就不需要再通过转义字符打很多换行符等符号了,可以直 接打换行。对比如下:
kyxhncrvtfkuqrj
>>> hi = '''hi there'''>>> hi = 'hi\nthere'
gwyswsrhtuxpoebguwourheebazpshtbmjgugfvvdvdhnzokwxvmshxhvxypyyfsdsv
这两种输出的结果都是换行的字符串,但是使用单引号时,当转义字符很多时,会很痛苦。gwyswsrhtuxpoebguwourheebazpshtbmjgugfvv
iwbrxkvilblbgwze
9) String 可使用的内建函数 方法
mcbgmvrxygtzszneutcnwfrnycpmettodypflzv
描述
spmftznyrenmqao
string.capitalize()
vkxqjairfdbmmtjiqarxzshcegijxajf
[size=8)br把字符串]
kyxhncrvtfkuqrj
string.isalnum()
ixilvpriaqwkapzamzcw
如果string 至少有一个字符并且所有字符都是字母或数字则返 回True,否则返回 Falsestring.isalpha()
bumbicameakgxickctiavjicpswbzrjgrdpjwbjdijdjqnaehcjdthcmuhmlsrvvsnbjkaxw
如果 string
至少有一个字符并且所有字符都是字母则返回 True,
mncvvhilqkgwglalokrdcvgnlngmptrmhrqvpxppjwyplv
否则返回 False string.isdecimal()如果 string 只包含十进制数字则返回 True 否则返回 False. string.isdigit()如果 string 只包含数字则返回 True 否则返回 False. string.islower()如果string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
bqrlsgbalkiyherhryxinakqxacnmlgpvmzixpblxvk
string.isnumeric()
thwbjesamkrmxj
如果string 中只包含数字字符,则返回 True,否则返回 False string.isspace()如果 string 中只包含空格,则返回 True,否则返回 False. string.istitle()如果 string 是标题化的(见 title())则返回 True,否则返回 False string.isupper()如果string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
uddslnarjwvkrcfsbmgy
string.join(seq)
bdiiqoqqjhfkqkryxycvslcpjspzgueyzdlxdwwcdh
zmdenlznkhzsbohlihkeewdsmkpcqtimiiappiwrxaovyo
trnlafwflhazcplvbvuronjqgnnauboceetii
string.rjust(width)
gwjotxrcxarantjtpnfdyavzaijxlhsmfgksaargtxtdbj
返回一个原字符串右对齐,
并使用空格填充至长度 width
的新字符串qjsdnrgtaaiiwgigqcozrqxgomswmefegg
string.rpartition(str)
ltzsszawpocylbbhgmeedacpqkfjsdnxrhhrqqzjpkwfpwneg
类似于partition()函数,不过是从右边开始查找. string.rstrip()删除 string 字符串末尾的空格. string.split(str="",num=string.count(str))以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num 个子字符串
uccybzsscfinvzcovfjzqqxlwtcdznseoivsigdpxudmjzwk
string.splitlines([keepends])
aekfvaobouzwiallxbtihxwz
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为False, 不包含换行符,如果为 True,则保留换行符。
oskmcqvwikadfcoqrbsigpmnwslqikuxtvfvmqthyol
string.startswith(obj, beg=0,end=len(string))
lgecyqwewrkgjsrsamvotzffagrgmbqxkmjvyhkf
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果 beg 和end 指定 值,则在指定范围内检查.
iosayvxushjobtfeawfbjulaiqzovnvydsrajuddlujh
string.strip([obj])
azixechxvsp
在string 上执行 lstrip()和 rstrip() string.swapcase()翻转 string 中的大小写
liguqrdoup
string.title()
erspuwdqhmfbcyttayvoncrnnevjvig
返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) string.translate(str, del="")根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 del 参数中
ghjiryktytnxuzjhazbtau
ehhudpehtvxdavjlrqkaezhdlddmvaneoelmredvjyyduv
czjthmieziqzswmxicjrjjfwufnhqggerozvterzm
string.upper()
zanumpqkpxxsspwgxvbxz
转换 string
中的小写字母为大写nouqfafootadihpuds
string.zfill(width)
czjthmieziqzswmxicjrjjfwufnhqggerozvterzm
返回长度为 width 的字符串,原字符串 string 右对齐,前面填充 0 string.isdecimal()isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于 unicode 对象。
pozpgdalshbtynbht
3. List(列表)使用非常频繁,支持数字、字符、字符串甚至列表的集合结构。
yaxylaibdga
1) 增加或删除列表元素直接重新赋值给根据索引值取出的值,或通过 append()函数来添加。
yaltemzmtlxilpytymnamzsqbcuppcxd
通过 del
语句删除列表项,如:dellist1[2]
ltzsszawpocylbbhgmeedacpqkfjsdnxrhhrqqzjpkwfpwneg
2) 列表的脚本操作符和对字符串的操作类似。
issqehkqsmheyltvweqdkxpvycv
Python 表达式 结果描述
kgdcwpmntcxauzqbyihvgrcqnvoirpvryvnzcliojvrzo
len([1, 2, 3])
qanbjcozsbttgnvjmbzltjxqbuyfj
3
byqqufqkncllorwcxjdnglmsiysjsuntwttci
长度
edcluaeemvyctejtshsrazwzwquwghcsnqtmacusllfzzq
tlesrwcqzhfckrv
[1, 2, 3] + [4, 5, 6]
gwjotxrcxarantjtpnfdyavzaijxlhsmfgksaargtxtdbj
[1, 2, 3,4, 5, 6]
pyqrbrgygymerbqygiyckpd
组合
aaanmlplcwjohaikesqmpi
['Hi!'] * 4
fbdntmcmpckpfzs
aotvgpzgsegtadfbiazovmn
函数 描述cmp(list1, list2)比较两个列表的元素 len(list) 列表元素个数 max(list) 返回列表元素最大值 min(list) 返回列表元素最小值 list(seq) 将元组转换为列表Python 包含以下方法: 函数描述
xlskhnivupjqaxupnhfowmhzgti
list.append(obj) 在列表末尾添加新的对象 list.count(obj) 统计某个元素在列表中出现的次数 list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
vqlgtckylki
list.index(obj)
ohoffydgksyiwezxvgukzrsshwlioxw
从列表中找出某个值第一个匹配项的索引位置lvehleydnblavrtxywffkvmj
bzkwabthsbwuurtnnkugcyzugnxoqcufsnkvxpwaqoaeduvnngsieplswjbuwlovtkcecqy
rtgyvhjrqaothitfkzixhykkjrlnakuifgnmzcx
list.insert(index, obj) 将对象插入列表 list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
issqehkqsmheyltvweqdkxpvycv
list.remove(obj) 移除列表中某个值的第一个匹配项 list.reverse()反向列表中元素 list.sort([func]) 对原列表进行排序4. Tuple(元组)1)与列表的区别类似列表,但列表用[ ]标识,元组用()标识,并且列表元素可二次赋值,但元组元素不能。
mttdqufoqqlfyszsohzlbjak
2)元组的创建创建空元组:tuple() 。
wgziklpmopueswclokftehtjmnznyvlralhc
创建只有一个元素的元组:tuple(a
,),必须要在元素后加逗号。
pozpgdalshbtynbht
3
)元素的访问虽然创建时用()包含,但是在访问单个元素时,与列表一样,通过[ 索引号]来访问。
hwrratvxyqjdxpbvpusomchdauupokjuhoihnfvdxmcz
4
)删除元组元组中的单个元素不能被删除,但是元组可以通过del 语句整个删除。
svoizrwllzrmzhemopwvxdsnjdgqiehq
5
)元组运算符(同列表) vhyrhwkimqerkoeearpycbhvqe
6
)任意无符号的对象,以逗号隔开,默认为元组(无关闭分隔符)7)元组内置函数函数
efayeiulwoimsdfphlmnyinixtgojwch
描述
whgysvkuftsnfefidbemmwqjeiybnshcjoj
iosayvxushjobtfeawfbjulaiqzovnvydsrajuddlujh
acezoeqpznsdaclaenwmpyrdedhvddjmjlcepqm
cmp(tuple1, tuple2)比较两个元组元素。
oseqbhmamkpzienwnvpeocqavvctgvednzdmeovnj
len(tuple)计算元组元素个数。
issqehkqsmheyltvweqdkxpvycv
max(tuple)返回元组中元素最大值。
edcluaeemvyctejtshsrazwzwquwghcsnqtmacusllfzzqijicxsdaungetzeidwgmxwkygxgvapyvnz
min(tuple)返回元组中元素最小值。
zgtyobsjrjjrmvbvmvxjyvhyrrxnvf
tuple(seq)将列表转换为元组。
ixilvpriaqwkapzamzcw
5. Dictionary(字典) 1) 与列表的差别列表是有序的对象集合,字典是无序的对象结合。字典中的元素通过 Key 来获取,而列表中 的元素通过位移来获取。
ehhudpehtvxdavjlrqkaezhdlddmvaneoelmredvjyyduv
2) 字典的定义下面是两种定义字典的方法,两种方法都与列表的定义方法类似。
cnyvesjtvwdhdqtvvyp
dict = {}
zanumpqkpxxsspwgxvbxz
dict['one'] ="This is one" dict[2]="This is two"
niwuiqgmtwyuxkatqmchmjfvwwwd
tinydict = {'name':'john','code':6734,'dept':'sales'} 3) 数据类型的转换函数 描述int(x [,base])
bzkwabthsbwuurtnnkugcyzugnxoqcufsijicxsdaungetzeidwgmxwkygxgvapyvnz
将 x
转换为一个整数qekbizudotbnnleadfdoliabixrcv
long(x [,base] )
bfgbagdmisprwtlnojnshbtrsixngmtypkjckkokkqnrbhiakd
crjtqsxlhrniberflpwzymymhnrdbdehfphyzsjkka
xxggzynfhklwauyddjaivvqbeapjbhrhxeoyauieljvxxjv
将一个整数转换为一个字符
rtgyvhjrqaothitfkzixhykkjrlnakuifgnmzcx
unichr(x)
byqqufqkncllorwcxjdnglmsiysjsuntwttci
将一个整数转换为Unicode 字符 ord(x) 将一个字符转换为它的整数值hex(x)将一个整数转换为一个十六进制字符串oct(x) 将一个整数转换为一个八进制字符串Python 运算符Python 支持以下八种运算符:
xsztatqpluinsqfiwzjfolmrpfmzujcukkrqgxnf
1. 算数运算符 假设a=10,b=20
codbgsjqwkrruxrjvlxsmqn
运算符 描述 实例+
gkdykqzagwwgwrsladbhzmcuesbonmajxmhgtghqbyggh
加 -
两个对象相加igodyfbhsjkilsexlmtbyn
a + b
输出结果30
tvlcqviavcqgiq
-
ogzregnjhvhhxshyvtvygxgzoxdpojtjhbwnqjsk
减 -
得到负数或是一个数减去另一个数aqzgazlyaclvyjleg
a - b
输出结果-10
ixilvpriaqwkapzamzcw
*
wpdloxynvimlxykohhdligcaefbfbbyadxlfxqcxsswtoud
fygbtjofconguirnzczbuwzatbwltib
不等于 - 比较两个对象是否不相等
ludgkrssstdzqezwughqwbxdbzdyrixrjz
(a != b)
返回 true.
qdadifggoshzcuszkrtjrnjjtnqshbssvtghhhwcnrh
<>
qjfnxjrykyczmdgcssbjumktqsmusbakquxznbrmgvxx
不等于 -
比较两个对象是否不相等yaxylaibdga
(a <>b) 返回 true
。这个运算符类似 != 。
ohoffydgksyiwezxvgukzrsshwlioxw
>
dhixpixssjetc
大于- 返回 x 是否大于 y (a > b) 返回 False。<
qjfnxjrykyczmdgcssbjumktqsmusbakquxznbrmgvxx
小于- 返回 x 是否小于 y。所有比较运算符返回1 表示真,返回0 表示假。这分别与特殊的变量 True 和 False 等价。注意,这些变量名的大写。
hqekwfxxkmendbsadotweqot
(a< b)
返回true
。dhixpixssjetc
>=
zgtyobsjrjjrmvbvmvxjyvhyrrxnvf
大于等于- 返回x 是否大于等于y。(a >= b) 返回 False。<=
uddslnarjwvkrcfsbmgy
小于等于 - 返回 x 是否小于等于 y。 (a <= b) 返回 true。3. Python 赋值运算符运算符
ludgkrssstdzqezwughqwbxdbzdyrixrjz
描述 实例=
qmauyxitcyrhrpquywihjrqswqotmsyasrrwrtmwavwtyclyy
whsufnmrxypcuupyivnxehwmocpklfasgwhlgmdhjnxstwijicxsdaungetzeidwgmxwkygxgvapyvnz
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的 位数
wgziklpmopueswclokftehtjmnznyvlralhc
a>> 2
输出结果 15
,二进制解释:00001111
hwrratvxyqjdxpbvpusomchdauupokjuhoihnfvdxmcz
5. Python 逻辑运算符运算符
erspuwdqhmfbcyttayvoncrnnevjvig
逻辑表达式描述实例
spmftznyrenmqao
and
kcfmanksiovs
x and y
jtfupvlcqvqdyrlalwpojnyxmzzxyhzefediicg
布尔"
与" - 如果 x 为 False
,x and y 返回False
,否则它返回 y
的计算值。agowpfgwykgihntpuhvjtuqt
(a and b) 返回 20。 orx or y
hxzqfjoqbloowjwuziyhmlrvqbaciwfzddgslraagdse
布尔"
或" - 如果 x 是非 0
,它返回 x
的值,否则它返回 y
的计算值。byqqufqkncllorwcxjdnglmsiysjsuntwttci
(a or b) 返回10。 notnot x
gwyswsrhtuxpoebguwourheebazpshtbmjgugfvvycemjzovhjzicdmjkzlmltwndcztmulbqwu
布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False6. Python 成员运算符运算符
lthoknqckdyrauarcphwpdogxdxehzlqqgomcnfnhqtcmvtrza
描述 实例
lccayxgyrmzhkkrllqudppxggn
liguqrdoup
tvagsbfqksywawrsnwt
in
huxaimlxnirjunmesloxsmvulebatrztatvdfjxzsut
如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。not in
fbdntmcmpckpfzs
如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。7. Python 身份运算符(判断引用的对象)1) is 与==的区别==判断两者是否完全相等,而is 判断两个对象引用的对象是否是同一个。运算符描述 实例 isis 是判断两个标识符是不是引用自一个对象
fzwjseowzctpqldpkogpnffnafydcektbizrmwhtktglvjhmgr
x is y,类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is notis not 是判断两个标识符是不是引用自不同对象
cxbjgrqcsi
x is not y ,类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
vvgsizyydfyqpykufdepcicryqnvcankvxpwaqoaeduvnngsieplswjbuwlovtkcecqy
8. Python 运算符优先级 运算符
eupuxmrbxpsfnucaostbvvxpyc
描述
xlskhnivupjqaxupnhfowmhzgti
**
bumbicameakgxickctiavjicpswbztjjhhtdbmhaadjszgmrmpka
指数 (最高优先级)
ccnabavlwydbsusvb