day013 内置函数

查看内置属性dir()

print(dir()) # 打印dir的内置属性

print(dir([]))  # 打印列表的内置属性

迭代器生成器相关range,next,iter

range() # 自动生成一个列表

a=iter('asd') # 把迭代对象转换成迭代器

 print(next(a))

print(next(a))  # 用next把迭代器里面的内容一个一个取出来

基础数据类型相关bool,int,float,complex

>>>complex(1, 2)

(1 + 2j)

>>> complex(1)    # 数字

(1 + 0j)

>>> complex("1")  # 当做字符串处理

(1 + 0j)

# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错

>>> complex("1+2j")

(1 + 2j)

进制转换bin,oct,hex

print(bin(10),type(bin(10)))    # 十进制转换成二进制字符串并返回,

print(oct(10),type(oct(10)))    # 十进制转换成八进制字符串并返回

print(hex(10),type(hex(10)))    # 将十进制转换成十六进制字符串并返回

数学运算

abs:函数返回数字的绝对值。

divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。

round:保留浮点数的小数位数,默认保留整数。

pow:求x**y次幂。(三个参数为x**y的结果对z取余)

print(abs(-6))  #返回这个数的绝对值

print(divmod(9,6))  # 计算除数与被除数的结果,返回一个包含商和余数的元组(a//b,a%b)

print(round(3.999,2))   #保留浮点数的小数位数,默认保留整数,四舍五入

print(pow(6,6,7))   # 3个参数,1**2的次幂,算好之后再对参数3的取余

sum:对可迭代对象进行求和计算(可设置初始值)。

min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。

max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。

print(sum([1,2,3],10))  # 计算所有数的和,参数1是要算的可迭代对象,参数2是计算的起始位置

print(min([1,2,3])) #返回此序列的最小值

print(min([1,6,-0,-6],key=abs)) #取绝对值的最小数

dic = {'add':12,'ass':35}    # 取这个字典所有value的最小的那个print(max(dic,key=lambda x:dic[x]))

列表和元祖

list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。

tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。

print(tuple({'ass':123,'add':456})) # 他们都是取的是字典key的值

print(list({'ass':123,'add':456}))

reversed:将一个序列翻转,并返回此翻转序列的迭代器。

slice:构造一个切片对象,用于列表的切片。

ite = reversed([1,2,3,4,5,6])   # 将一个序列翻转,并返回翻转序列的迭代器

print(list(ite))

li = [1,2,3,4,56,78,9,6,3,2,2,2,2,2]

sli_obj=slice(-3)

print(li[sli_obj])

sli_obj=slice(0,7,3) # 就类似于一个固定的切割方法

print(li[sli_obj])

字符串相关 

str:将数据转化成字符串。

format:与具体数据相关,用于计算各种小数,精算等。

print(format(3,'b'))    # 转换为二进制

print(format(6400,'c'))   # 转换为unicode对应的字符

print(format(11,'d'))   # 转换为十进制

print(format(11,'o'))   # 转换为8进制

print(format(11,'x') )   #转换为16进制,小写字母表示

print(format(11,'X'))   #转换为16进制,大写字母表示

print(format(11,'n'))   # 和d一样

print(format(11))   # 默认也和d一样

bytes:用于不同编码之间的转化

k =bytes('数',encoding='utf-16') # 可以转换成任意编码的bytes

print(k)

print(k.decode('utf-16')) # encode和decode是配套使用

bytearry:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

ret = bytearray('alex',encoding='utf-8')

print(id(ret))

print(ret)

print(ret[0])

ret[0] = 65

print(ret)

print(id(ret))

memoryview:没什么用

ret = memoryview(bytes('你好',encoding='utf-8'))

print(len(ret))

print(ret)

print(bytes(ret[:3]).decode('utf-8'))

print(bytes(ret[3:]).decode('utf-8'))

ord:输入字符找该字符编码的位置

chr:输入位置数字找出其对应的字符

ascii:是ascii码中的返回该值,不是就返回/u...

print(ord('a'))

print(ord('国')) #输入字符找到该字符编码的位置

print(chr(97))  # 输入未知数字找到对应的字符

print(chr(20018))

print(ascii('a'))   # 是ascii码中的返回值,不是返回/u

print(ascii('哈'))

repr:返回一个对象的string形式(原形毕露)

print(repr('{1,2}'))  # 里面是什么样还返回什么样

数据集合 

    dict:创建一个字典。

    set:创建一个集合。

    frozenset:返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

   相关内置函数(8)

     len:返回一个对象中元素的个数。

     sorted:对所有可迭代的对象进行排序操作。

li = [1,4,-5,6,7,-8,9]

print(sorted(li,reverse=True)) # 排序降序

print(sorted(li)) # 排序升序

enumerate:枚举,返回一个枚举对象。

print (list( enumerate([1,2,3],100))) # 返回这个列表的每个值和它的索引,你也可以设置它索引的起始位置

all:可迭代对象中,全都是True才是True

any:可迭代对象中,有一个True 就是True

print(all((1,2,6))) # all当所有为True才为真和and相似

print(any([0,'',[],{},(),({}),1]))#当一个为真都为真

zip函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

li1= "1234"

li2= "1234"

li3= "1234"

print(list(zip(li1,li2,li3))) # 用zip返回一个迭代器,他是竖着切下来的,按照最短的那个结束

filter:过滤·

lst = filter(lambda x:x%3==0,[1,2,3,4,5])# 和筛选式列表一样

print(set(lst))

map:他就和循环性列表推导式一样

print(list(map(lambda x : x**3,(1,2,3))))

匿名函数

函数名 = lambda 参数 :返回值

参数可以有多个,用逗号隔开

匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值

返回值和正常的函数一样可以是任意数据类型

dic={'k1':10,'k2':100,'k3':30}

print(max(dic))

print(dic[max(dic,key=lambda k:dic[k])])

posted @ 2018-09-19 21:34  admin9s  阅读(87)  评论(0编辑  收藏  举报