码迷,mamicode.com
首页 > 其他好文 > 详细

内置函数

时间:2018-02-25 14:32:18      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:ascii   dict   切片   bsp   enum   turn   双引号   排序   dir   

1.dir() 查找对象的所有方法
print(dir([]))

2.print()
第一种用途:
print("666",end="")          #去除换行符,连接到一起
print(666)
第二种用途:
print(1,2,3,4,5,sep="|")  #1|2|3|4|5  连接符
第二种用途:
f = open(file,a,encoding=utf-8)
print(666,file=f)
f.close()


3.locals()将局部的变量储存起来 globals()将全局的变量,函数名,等等储存起来
def func():
    name = "alex"
    print(locals())
    print(globals())
func()

4.help(str) #查看你查询的对象所有的方法,解释等,不用print

5.abs()取绝对值


6.max()最大值 (可迭代对象,key = 函数名)
ret = max(["s","a","b"])     #asii最大位
print(ret)        #s

ret = max([1,2,3])          #可迭代对象的最大值
print(ret)       #3

ret = max(1,2,-3,key=abs)
print(ret) #-3
min 最小值    (可迭代对象,key = 函数名)
ret = min([1,2,3])
print(ret)   #1

求和sum (iterable,初始值)
ret = sum([1,2,3],10)
print(ret)  #16

 

7.callable() 判断此变量是不是函数名
name = "alex"
print(callable(name))    #False
def func():
    print(666)
print(callable(func))     #True

 

8.hash() 通过哈希表的规则,将对象转换成哈希值
print(hash("hfjsahfasjfhak"))
print(hash("sdhsdhfiejksdfji"))
print(hash("huerweunoehfs"))

9.十进制转化成二进制
print(bin(100))     #0b1100100
  将十进制转化成八进制
print(oct(9))       #0o11
  将十进制转化成十六进制
print(hex(33))       #0x21

10.all 可迭代对象里面的所有的值转化成bool值如果都是True则,返回True
  any()一个为真,则为真

11.数据类型
float :有限小数,无限循环小数,不包含(无线不循环小数)
print(1.35432,type(1.35432))    #1.35432 <class float>
print(float(3))                 #3.0

 

12.divmod()    分页
print(divmod(7,2))    #(商,余数) (3, 1)

13.enumerate() 枚举
l = ["a","b","c"]
for i in enumerate(l):
    print(i)                  #元组类型

for k,v in enumerate(l,100):   #可以设置起始值
    print(k,v)

14.eval/exec
eval有返回值,除去字符串两边的引号,返回里面的内容
exec 没有返回值,除去字符串两边的引号,执行里面的代码(流程语句),返回值是none
s = "{‘name‘:‘alex‘}"
s1 = "1+2+3+4+5"
print(eval(s),type(eval(s)))
print(exec(s),type(exec(s)))
print(eval(s1))

15.ord()把字母,汉字变成数字
print(ord("b"))     #98
print(ord(""))    #20013

16. chr()输入编码的位置,返回unicode对应的字符
print(chr(97))      #a
print(chr(20013))   #中

17. ascii() 包括小大写,特殊字符
print(ascii("a"))
print(ascii(""))    #\u(表示不是ascii)

18.%r 占位符
name = "alex%r"%("sb")
print(name)                 #alexsb 合并在一起,并且加带双引号

print(repr("[1,2]"))         #[1,2]

19.slice()切片,基类
l1 = [11,22,33,44]
print(l1[1::2])     #[22, 44]
# 效果是一样的
s1 = slice(1,4,2)
print(l1[s1])       #[22, 44]

 

20.reversed()  形成一个新的迭代器,取元素用for循环或者 next
l1 = [11,22,33,44]
l1.reverse()         #反转
print(l1)            #[44, 33, 22, 11]

l1 = [11,22,33,44]
l2 = reversed(l1)
print(l2)          #<list_reverseiterator object at 0x0000021964DC7198>
for i in l2:
    print(i)

21.format()用于科学计算

22.max()  可迭代对象,key = 函数名

例子1
li = max([1,2,3,-4],key = abs)
print(li)       #-4
例子2,返回值是什么,就按照什么比较大小
dic = {"1":20,"2":30,"3":100}
def func(x):
    return dic[x]
l1 = max(dic,key = func)
print(l1)      #3
例子3
dic = {"k1":20,"k2":30,"k3":100}
def func(x):
    return x
l1 = max(dic,key = func)
print(l1)     #k3

23.zip() 可以放置多个可迭代对象,以最少的可迭代对象的个数为基准,返回一个迭代器。

判断是不是迭代器
l1 = [1,2,3]
l2 = ["wusir","alex","taibai"]
l3 = ["*","**"]
from collections import Iterator
print(isinstance(zip(l1,l2),Iterator))   #True
print(zip(l1,l2))                        #<zip object at 0x000002A97F57F988>
                    
for i in zip(l1,l2,l3):
    print(i)
# 元组形式
# (1, wusir, *)
# (2, alex, **)
列表转换成字典
l1 = [1,2,3]
l2 = ["wusir","alex","taibai"]
l3 = ["*","**"]
print(dict(zip(l1,l2)))            #{1: wusir, 2: alex, 3: taibai}
字典的话,以key为基准
dic1 = {"k1":20,"k2":30,"k3":100}
dic2 = {"k1":20,"k2":30,"k3":100}
for i in zip(dic1,dic2):
    print(i)
    # (k1, k1)
    # (k2, k2)
    # (k3, k3)

 

24.map()     (函数名,可迭代对象,迭代器 )(for循环,next取值)                
将你迭代对象的元素当作函数的参数,将返回值返回给map()
def func(x):
    return x*x
for i in map(func,[0,1,2,3,4]):
    print(i)  

25.filter() (函数名,可迭代对象,迭代器) (for循环,next取值) 过滤功能
将你迭代对象的元素当作函数的参数,将返回值返回给filter()
返回值返回给迭代器,省内存
def func(x):
    return x%2 == 0
for i in filter(func,[1,2,3,4,5,6]):
    print(i)

 列表推导式,费内存
li = [i for i in [1,2,3,4,5,6] if i % 2 == 0]
print(li)

 

26.sorted     可迭代对象,key = 函数名  
执行效率最高

排序,返回的是列表
sorted(l1) 和 l1.sort() 区别,
sorted(l1)形成新列表,并返回。不对原列表进行操作
l1.sort()改变原列表

例子1:
l1 = [1,2,5,6,8,6]
print(sorted(l1))    #[1, 2, 5, 6, 6, 8]

l1.sort()
print(l1)           #[1, 2, 5, 6, 6, 8]

例子2
li = ["khdfgua","jfhauh","hf"]
print(sorted(li,key = len))     #[hf, jfhauh, khdfgua]
总结:

带key的(max,min,map返回的是迭代器,filter返回的是迭代器,sorted返回的是列表

27.
bytes()
s = "中国".encode("gbk") #编码
print(s)
s.decode("gbk")    #解码
例题
 s GBK的bytes ----> utf-8 的bytes
 方法一
s = b\xd6\xd0\xb9\xfa
s1 = s.decode("gbk").encode("utf-8")
print(s1)     #b\xd6\xd0\xb9\xfa

 方法二
s = "中国"
s1 = bytes(s,encoding= "utf-8").decode("utf-8")
print(s1)     #中国

 

28.匿名函数

func = lambda x:x   #函数名 = lamda 形参 : 返回值
print(func(3))

例题1
def func(x,y):
    return x+y
print(func(1,2))

func1 = lambda x,y : x+y
print(func1(1,2))

 

 
 





内置函数

标签:ascii   dict   切片   bsp   enum   turn   双引号   排序   dir   

原文地址:https://www.cnblogs.com/lara0520/p/8469079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!