python内置参数
内置参数
数学运算
abs(-5) # 取绝对值,也就是5
round(2.6) # 四舍五入取整,也就是3.0
pow(2, 3) # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5
cmp(2.3, 3.2) # 比较两个数的大小,返回布尔值
divmod(9,2) # 返回除法结果和余数
max([1,5,2,9]) # 求最大值
min([9,2,-4,2]) # 求最小值
sum([2,-1,9,12]) # 求和
类型转换
int("5") # 转换为整数 integer
float(2) # 转换为浮点数 float
long("23") # 转换为长整数 long integer
str(2.3) # 转换为字符串 string
complex(3, 9) # 返回复数 3 + 9i
ord("A") # "A"字符对应的数值,参数必须是字符,和chr相反
chr(65) # 数值65对应的字符,参数必须是数字,和ord相反
unichr(65) # 数值65对应的unicode字符
bool(0) # 转换为相应的真假值,在Python中,0相当于False
在Python中, [], (), {}, 0, None, 0.0, '' " 都相当于False
bin(56) # 把数字转换成二进制,返回一个字符串,表示56的二进制数
hex(56) # 返回一个字符串,表示56的十六进制数
oct(56) # 返回一个字符串,表示56的八进制数
list((1,2,3)) # 转换为表 list
tuple([2,3,4]) # 转换为定值表 tuple
slice(5,2,-1) # 构建下标对象 slice
dict(a=1,b="hello",c=[1,2,3]) # 构建词典 dictionary
序列操作
all([True, 1, "hello!"]) # 是否所有的元素都相当于True值
any(["", 0, False, [], None]) # 是否有任意一个元素相当于True值
sorted([1,5,3]) # 返回正序的序列,也就是[1,3,5]
reversed([1,5,3]) # 返回反序的序列,也就是[3,5,1]
类,对象,属性
# define class
class Me(object): def test(self): print "Hello!"
def new_test():
print "New Hello!"
me = Me()
hasattr(me, "test") # 检查me对象是否有test属性
getattr(me, "test") # 返回test属性
setattr(me, "test", new_test) # 将test属性设置为new_test
delattr(me, "test") # 删除test属性
isinstance(me, Me) # me对象是否为Me类生成的对象 (一个instance)
issubclass(Me, object) # Me类是否为object类的子类
编译,执行
repr(me) # 返回对象的字符串表达
compile("print('Hello')",'test.py','exec') # 编译字符串成为code对象
eval("1 + 1") # 解释字符串表达式。参数也可以是compile()返回的code对象
exec("print('Hello')") # 解释并执行字符串,print('Hello')。参数也可以是compile()返回的code对象
# a=compile("print('Hello')",'test.py','exec')
# print(exec(a))
a=compile("print('Hello')",'test.py','eval')
print(eval(a))
例如:
code=''' def hanshu(max): n,a,b=0,0,1 while n<max: yield b a=b b=a+b n+=1 t=hanshu(10) while True: try: x = next(t) print('g:', x) except StopIteration as e: print('Generator return value:', e.value) break '''
exec(code)
结果显示为:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pys1/day4/内置方法.py
g: 1
g: 2
g: 4
g: 8
g: 16
g: 32
g: 64
g: 128
g: 256
g: 512
Generator return value: None
其他
input("Please input:") # 等待输入
globals() # 返回全局命名空间,比如全局变量名,全局函数名
locals() # 返回局部命名空间
bytearray() #把数组编程数字格式,可以修改其中的值,b=bytearray('abcdd',encoding="utf-8");b[1]=100,打印出来的是bytearray(b'adcdd')
ascii(["一二三"]) #是str型,打印的是字符串
callable() #判断括号中的内容是否可调用
complex() #复数形式
delattr() #delattr(x, 'foobar') 相等于 del x.foobar
dir(a) #查询a的调用方法
divmod(5,3) #返回商和余数(1,2)
filter #返回选择项,是一个对象
res=filter(lambda n:n>5,range(10))
for i in res:
print(i)
结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pys1/day4/decorator1.py
6
7
8
9
Process finished with exit code 0
map()
res=map(lambda n:n*2,range(10)) #[i*2 for i in range(10)]或者res=[lamdbda i :i*2 for i in range(10)]
for i in res:
print(i)
reduce函数功能:会对参数序列中元素进行累积
import functools
res=functools.reduce(lambda x,y:x*y ,range(1,10))
print(res)
结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pys1/day4/decorator1.py
362880
fronzenset() #冻结集合,不可变
globals() #返回当前整个程序(文件)的所有变量key:value格式,是个字典型
locals() #返回局部的变量key:value格式,是个字典型
hash() #散列,加密解密算法如:MD5等算法只是hash算法中的一种
hex(22) #返回16进制,0x16
id() #返回内存地址
oct() #转八进制
pow(3,5) #返回3的5次方
repr() #转成字符串对象
reversed() #反转,和列表里面的reversed一样的
round(1.34444,2) #保留小数位
slice() #切片
sorted() #排序
a={
6:2,
8:0,
1:4,
99:11,
4:22
}
print(sorted(a.items(),key=lambda x:x[1])) #可以理解key后面能接受一个函数,函数遍历a中的每一个元素,
而且,x就是a中每一个元素的列表化形式,再由sort进行排序,后面还可以接reserve参数,Ture就是反排,false就时默认的,正排序
其实还有另一个方法,就是引入一个模块:用 operator 函数进行多级排序:
------------------------------------------------------
Python代码
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]
sorted(students, key=itemgetter(1,2)) # sort by grade then by age
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
另:对由字典排序 ,返回由tuple组成的List,不再是字典,如下:
- >>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4}
- >>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)
- [('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)]
----------------------------------------
print(a)
(注意sort函数不返还副本,对原始数据进行排序,sorted函数返回一个副本,对原始数据没有修改)
输出结果为:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pys1/day4/decorator1.py
[(8, 0), (6, 2), (1, 4), (99, 11), (4, 22)]
{6: 2, 8: 0, 1: 4, 99: 11, 4: 22}
vars([object]) #返回一个对象的所有属性名
zip() #拉链的意思,拼凑,一一对应,有多余自动去除
a=[1,2,3,4,5]
b=['a','b','c','d']
for i in zip(a,b):
print(i)
结果为:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pys1/day4/decorator1.py
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
__import__ #__import__('zhuangshiqi')相当于impor zhuangshiqi