拾遗一:Python种类
1、Cpython:
由C语言实现,将.py文件编译为.pyc文件的字节码,再转换为机器码。
2、Jpython:
由JAVA语言实现,将python的代码编译为JAVA的字节码,再转换为机器码。
3、Ironpython:
由C#实现,将将python的代码编译为C#字节码,再转换为机器码。
4、pypy:
将python的代码转换为字节码的同时也转换为机器码,提高执行速度。
拾遗二:Python的编码
1、ASCII码(American Standard Code for Information Interchange,美国标准信息交换代码):用1个字节表示,即2**8=256,最多只能表示256个字符。
2、Unicode(万国码):用至少2个字节来表示,即2**16=65536,可以满足每种语言字符的需求。
3、UTF-8:是对Unicode编码进行压缩和优化,将所有的字符进行分类;其中ascii码用1个字节保存。
拾遗三:脚本执行时加入参数
1、Python中存在大量模块,用模块开发Python程序非常简洁;Python中类库有三种:
①Python自带的模块
②免费开源的模块
③自己开发的模块
2、Python内部提供一个sys的模块,其中sys.argv用来捕获执行Python程序时加入的参数
1 #!/usr/bin/env python 2 # -*- conding:utf-8 -*- 3 import sys 4 print sys.argv
拾遗四:数据类型详解
1、类与对象的关系:
Python中一切事物都是对象,类创建对象。相同类的对象都具有相同的功能并且存放在同一个内存地址中。
2、整型,每个整数都具有一下功能:
•bit_length:计算该整数占的位数
1 #!/usr/bin/env python 2 a = 10 3 int.bit_length(a) 4 4
•conjugate:返回该值的共轭复数值
•__abs__:返回该值的绝对值
#!/usr/bin/env python a = -10 a.__abs__() <==> abs(a) 10
•__and__:进行‘与’预算
1 #!/usr/bin/env python 2 a = 4 3 b = 7 4 a.__and__(b) <==> a&b 5 4
•__cmp__:比较两个数的大小
1 #!/usr/bin/env python2 #python2.0里面适用,3.0取消了 2 a = 10 3 b = 7 4 a.__cmp__(b) <==> cmp(a,b) 5 1 6 b.__cmp__(a) <==> cmp(b,a) 7 -1
•__bool__:当值为非0时返回值为True;当值为0时,返回值为False
1 #!/usr/bin/env python 2 a = 1 3 b = 0 4 int.__bool__(a) 5 True 6 int.__bool__(b) 7 False
•__coerce__:强制生成一个元组
1 #!/usr/bin/env python2 #python2.0里面适用,3.0取消了 2 a = 1 3 b = 2 4 a.__coerce__(b) <==> corece(a,b) 5 (1,2)
•__divmod__:得到商和除数组成的一个元组
1 #!/usr/bin/env python 2 a = 4 3 b = 3 4 a.__divmod__(b) <==> divmod(a,b) 5 (1,1)
•__div__:除法
1 2.0里面: 2 #!/usr/bin/env python2 3 a = 4 4 b = 3 5 a.__div__(b) <==> div(a,b) 6 1 7 3.0里面; 8 #!/usr/bin/env python 9 a = 4 10 b = 3 11 a/3 12 1.333333
•___float__:将整型转化为浮点型(带小数)
1 #!/usr/bin/env python 2 a = 4 3 a.__float__() <==> float(a)\ 4 4.0
•__floordiv__:返回商的整数部分
1 #!/usr/bin/env python 2 a = 10 3 b = 3 4 a.__floordiv__(b) <==> a//b 5 3
•__format__
•__int__:转换为整型
1 #!/usr/bin/env python 2 a = 10.0 3 a.__int__() <==> int(a) 4 10
•__invert__:取反数
1 #!/usr/bin/env python 2 a = 4 3 a.__invert__() 4 -5
•__long__:转换为长整数
1 #!/usr/bin/env python2 #python2.0里面适用,3.0取消 2 a = 4 3 a.__long__() <==> long(a) 4 4L
•__mod__:取余数
1 #!/usr/bin/env python 2 a = 10 3 b = 3 4 a.__mod__(b) <==> a%b 5 1
•__mul__:相乘
1 #!/usr/bin/env python 2 a = 3 3 b = 4 4 a.__mul__(b) <==> a*b 5 12
•__neg__:取负数
1 #!/usr/bin/env python 2 a = 3 3 a.__nug__() <==> -a 4 -3
•__pow__:幂运算
1 #!/usr/bin/env python 2 a = 3 3 a.__pow__(2) <==> pow(3,2) 4 9
•__repr__:转换为解释器可读取形式
1 #!/usr/bin/env python 2 a = 3 3 a.__repr__() <==> repr(a) 4 'a'
•__str__:返回人可读取形式,如果没有人可读取形式则返回解释器可读取形式。同__repr__
3、长整型:
如:473946193472375。具备功能如同整型
4、浮点型:
如:3.4。具备功能如同整型
5、字符串:
每个字符串都具备以下功能:
•capitalize:首字母变大写
1 #!/usr/bin/env python 2 a = ('qwer') 3 a.capitalize() 4 Qwer
•center(长度,‘填充内容’);内容居中
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.center(10,'*') 4 ***qwer***
•count('查询的字符',start,end):查询字符串内子序列的个数
1 #!/usr/bin/env python 2 a = 'qwerqwer' 3 a.count('qw',0,9) 4 2
•endswith('字符',start,end):判断在该区间内是否以该字符结束,返回值为True和False
1 #!/usr/bin/env python 2 a = 'qwerasdf' 3 a.endswith('df',0,10) 4 True 5 a.endswith('df',0,5) 6 False
•expandtabs():将tab转换为空格,默认一个tab转换为8个空格
1 #!/usr/bin/env python 2 a = ' qwer' 3 b = a.expandtabs() 4 a 5 \tqwer 6 b 7 qwer
•find('字符'):查找字符的位置,查询不到返回值为-1
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.find('q') 4 0 5 a.find('f') 6 -1
•index():查询子序列的位置,查不到就报错
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.index('e') 4 3 5 a.index('f') 6 xxxxxxxxxxxxxxxx #报错
•isalnum():判断是否为字母或者数字,返回值为True和False
1 #!/usr/bin/env python 2 a = 'adsf13' 3 a.isalnum() 4 True 5 6 a = '$%^&' 7 a.isalnum() 8 False
•isalpha():判断是否为字母,返回值为True和False
1 #!/usr/bin/env python 2 a = 'asfafd' 3 a.isalpha() 4 True 5 6 a = 'asfe2314' 7 a.isalpha() 8 False
•isdigit():判断是否为数字
1 #!/usr/bin/env python 2 a = 'aseqw12123' 3 a.isdigit() 4 False 5 6 a = '214232' 7 a.isdigit() 8 True
•islower():判断是否为小写
1 #!/usr/bin/env python 2 a = 'asiudfef1243' 3 a.islower() 4 True 5 6 a = 'DQ34rfdgf' 7 a.islower() 8 False
•isspace():判断是否为空格
1 #!/usr/bin/env python 2 a = 'fdff fds' 3 a.isspace(0 4 False 5 6 a = ' ' 7 a.isspace() 8 True
•istitle():
•isupper():
•join():连接
1 #!/usr/bin/env python 2 a = 'qwer' 3 b = '1234' 4 a.join(b) 5 1qwer2qwer3qwer4qwer
•ljust(nu,'填充内容'):左对齐,右填充
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.ljust(10,'*') 4 qwer******
•lower():变小写
1 #!/usr/bin/env python 2 a = 'QWER' 3 a.lower() 4 qwer
•lstrip():移除左侧空白
1 #!/usr/bin/env python 2 a = ' qwer' 3 a.lstrip() 4 qwer
•partition():分割成前、中、后三部分
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.partition('e') 4 'qw','e','r'
•replace('old','new'):替换
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.replace('qw','as') 4 aser
•split('字符'):将该字符的两边进行切割,且不保留本字符
1 #!/usr/bin/env python 2 a = 'qwert' 3 a.split('e') 4 'qw','rt'
•splitlines():根据换行分割
•startswith(‘’):判断是否以该字符开始
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.startswith('q') 4 True 5 a.startswith('e') 6 False
•strip():移除两边空白
1 #!/usr/bin/env python 2 a = ' qwer ' 3 a.strip() 4 'qwer'
•swapcase():大写变小写,小写变大写
1 #!/usr/bin/env python 2 a = 'QWERqwer' 3 a.swapcase() 4 'qwerQWER'
•transalite():转换,需要先做一个对应表,最后一个表删除字符集合
•zfill():返回指定长度的字符串,原字符串右对齐,左边位补0
1 #!/usr/bin/env python 2 a = 'qwer' 3 a.zfill(5) 4 '0qwer'
6、列表
每个列表都具备以下的功能:
•append():在列表末尾添加新的元素
1 #!/usr/bin/env python 2 a = [1,2,3,4,] 3 a.append(5) 4 [1,2,3,4,5,]
•count():返回列表中某个元素的个数
1 #!/usr/bin/env python 2 a = [1,1,1,2,3] 3 a.count(1) 4 3
•extend():将两个列表组合在一起扩展为一个新的列表
1 #!/usr/bin/env python 2 a = [1,2,3,4,] 3 b = ['q','w',] 4 a.extend(b) 5 a 6 [1,2,3,4,'q','w']
•index():根据索引值去列表里面拿元素
1 #!/usr/bin/env python 2 a = [1,2,3,4,] 3 a.index(2) 4 3
•insert():在某个位置插入一个元素
1 #!/usr/bin/env python 2 a = [1,2,3,4,5,] 3 a.insert(2,9) 4 a 5 [1,2,9,3,4,5,]
•pop():在列表的末尾删除一个元素,并且返回删除的元素值
1 #!/usr/bin/env python 2 a = [1,2,3,4] 3 a.pop() 4 4
•remove():删除指定的某个元素,一次只能删除索引值最小的那个元素
1 #!/usr/bin/env python 2 a = [1,2,3,1,2,3,] 3 a.remove(2) 4 a 5 [1,3,1,2,3,]
•reverse():将列表中的元素反向排列
1 #!/usr/bin/env python 2 a = [1,2,3,4,] 3 a.reverse() 4 a 5 [4,3,2,1,]
•sort():排序
1 #!/usr/bin/env python 2 a = [1,3,2,4,] 3 a.sort() 4 a 5 [1,2,3,4,]
7、元组:
每个元组都具备列表中的index和count的功能;
8、字典:
循环时迷人循环key值
•clear():清除字典内容为空
1 #!/usr/bin/env python 2 a = {'key1':1,'key2':2} 3 a.clear() 4 {}
•copy():浅拷贝
•fromkeys():给定的键值建立新的字典
1 #!/usr/bin/env python 2 a = {'key1':1,'key2':2} 3 a.fromkeys(['name','age']) 4 {'name':none,'age':none}
•get():访问字典中不存在的值不会提示报错
1 #!/usr/bin/env python 2 a = {'key1':1,'key2':2} 3 a.get('key3') 4 #不会报错
•has_key():判断字典中是否有这个键值(2.0适用,3.0取消)
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.has_key('k1') 4 True 5 6 a.has_key('k3') 7 False
•items():将字典中的每项以列表的形式表现出来,每一项都是以(键,值)对的方式表现出来
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.items() 4 [('k1',1),('k2',2)]
•iteritems():项可迭代
•iterjeys():键可迭代
•itervalues():值可迭代
•keys():将字典中的键以列表的形式表现出来
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.keys() 4 ['k1','k2']
•pop():获取并且在字典中删除,并且输出删除键的值
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.pop('k1') 4 a 5 {'k2':2}
•popitem():随机删除字典中的键值
•setdefault():如果键存在则返回键的值;如果键不存在则创建
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.setdefault('k1') 4 1 5 6 a.setdefault('k3') 7 a 8 {'k1':1,'k2':2,'k3':None}
•update():更新字典
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2,'k3':'None'} 3 b = {'k3':3} 4 a.update(b) 5 a 6 {'k1':1,'k2':2,'k3':3}
•values():将字典中所有值以列表的方式表现出来
1 #!/usr/bin/env python 2 a = {'k1':1,'k2':2} 3 a.values() 4 [1,2]
•viewitems
•viewkeys
•viewvalues