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,不再是字典,如下:

  1. >>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4}  
  2. >>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)  
  3. [('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

posted @ 2018-10-09 15:21  一叶风语  阅读(472)  评论(0编辑  收藏  举报