Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83015
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-12 22:31
文章分类

全部博文(26)

文章存档

2016年(26)

我的朋友

分类: Python/Ruby

2016-12-09 15:47:35

python内置函数


abs() #求绝对值
bool() #转化为布尔值,为False:'',"",0,None,[],(),{}
all() #迭代所有的值的布尔值都为真,才为真,有一个为假则为假
any() #迭代所有的值只要有真则为真

chr() #把数字转换成ASCII码   ------------->必须掌握           
ord()   #把ASCII码转换成数字   ------------->必须掌握

hex()   #把十进制转换为十六进制
oct() #把十进制转换为八进制
bin() #把十进制转换为二进制
bytes() #转换成字节
str() #字母,数字,字节等转换成字符()
-----------------------------------------------------------------------------------------------
  1. 例子1,    字符和字节之间的转换:(用什么编码转换的就要以什么编码转换回来)
  2.             
  3.             ****(对于UTF-8编码一个汉字占有3个字节,gbk一个汉字占2个字节)
  4.             如:
  5.                 s1 = '勇敢'
  6.                 res1 = bytes(s1,encoding='utf-8') #把汉字转化为字节
  7.                 res2 = bytes(s1,encoding='GBK')
  8.                 print(res1)
  9.                 print(res2)

  10.                 b1 = res1
  11.                 res3 = str(b1,encoding='utf-8') #把字节转换为字符
  12.                 print(res3)
  13.             
  14.             结果:
  15.                 b'\xe5\x8b\x87\xe6\x95\xa2' #3个字节
  16.                 b'\xd3\xc2\xb8\xd2' #2个字节
  17.     
  18.             勇敢


  1. 例子2,生成随机验证码
  2.     
  3.             import random
  4.             li = []
  5.             for i in range(6):
  6.                 r = random.randrange(0,5)
  7.                 if r == 2 or r == 4:
  8.                     num = random.randrange(0,10)
  9.                     li.append(str(num))
  10.                 else:
  11.                     tem = random.randrange(65,91)
  12.                     c = chr(tem)
  13.                     li.append(c)
  14.             result = ''.join(li)
  15.             print(result)
callable() #定义是否可被调用,返回True或者False

compile() #将字符串编译成Python代码
r = compile(s, "", "exec")
exec() #执行python代码,没有返回值
exec(r)
扩展:实际上在saltstack的jinja模版的底层就是运用complile进行编译的


eval() #接收字符串,把字符串转化成表达式来执行。有返回值


exec和eval的区别:
exec 可以接收代码,直接执行,也可以接收字符串,然后转换成代码执行。但是没有返回值
eval 执行表达式,并且获取结果。


delattr() #反射后面会讲
getattr()
hasattr()


dir() #获取一个对象提供了哪些功能
help() #查看帮助,其实读的是源码。可以结合dir来使用(dir提供功能,
help查看具体用法)

divmod() divmod(9,2)---(4,1)等于商和余数(可以用在网页扉页计算,
当商大于0时需要多加一页。比如有100个网页,一页放9个,总需要放几个?11+1)
n1,n2 = divmod(9,2) ,如果一直返回两个元素,会把第一个元素给n1,第二个元素给n2


enumerate() #重要
isinstance() #判断某个对象是否是类的实例
  1. --------------------------------------------------------------------
  2.                 例子3,判断对象是否是类的实例
  3.                 s1 = "alex" #s1首先是字符串,也就是s1是一个str的例子
  4.                 res = isinstance(s1,str)
  5.                 print(res)
  6.                 
  7.                 执行结果:
  8.                 True
  9.                 
  10.                 总结:比如像字符,列表,字典等叫做类,s1="alex" 这个叫做对象,
  11.                      也就是说对象是类的一个实例,注意理解哦。
  12.     ----------------------------------------------------------------------------

filter() #filter(f1,li)循环第二个参数,让每个元素执行函数,返回值为True,
将元素添加到结果中 


  1. ----------------------------------------------------------------------
  2.                 例子4:
  3.                 li = [1,2,3,4,5]
  4.                 res =filter(lambda x:x > 3,li)
  5.                 print(res)
  6.                 print(list(res))
  7.                 
  8.                 执行结果:
  9.                 <filter object at 0x0000000000CB3080>
  10.                 [4, 5]
  11.                     
  12.     -----------------------------------------------------------------------

map() #map(函数,可以迭代的对象),这点类似于filter,但是
和filter的本质区别是map把返回值添加到结果中


  1. ------------------------------------------------------------------------
  2.                 例子5,
  3.                 t1 = (11,22,33,44)
  4.                 t2 = (1,2,3,4)
  5.                 res = map(lambda x, y: x + y, t1, t2)
  6.                 print(tuple(res))
  7.                 
  8.                 执行结果:
  9.                 
  10.                 (12, 24, 36, 48)
  11.     -------------------------------------------------------------------------

float() #转换成浮点型
format() #字符串的格式化

globals() #全局变量
locals() #局部变量


  1. ----------------------------------------------------------------
  2.                 例子6,
  3.                 NAME = "Alex"
  4.                 def f1():
  5.                     a = 123
  6.                     b = "abc"
  7.                     print(globals())     #获取全局变量
  8.                     print(locals())        #获取局部变量
  9.                 f1()
  10.                 
  11.                 执行结果:
  12.                 {'__spec__': None, 'NAME': 'Alex', '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00000000007A4BE0>, '__package__': None, '__name__': '__main__', '__file__': 'C:/Users/Administrator/PycharmProjects/s13/3day/test.py', '__cached__': None, 'f1': <function f1 at 0x0000000000FBAD08>}
  13.                 
  14.                 {'a': 123, 'b': 'abc'}
  15.     --------------------------------------------------------------------

hash(object) #了解,即传一个对象把其转换成hash值,像字典中的key在保存
的时候不管多长,都会转换成hash值,然后再进行保存。python
内部使用,其他语言的保存也是类似。


id() #查看内存地址
int()
input()

len() #查看长度,在python2.7中只能通过查看字节,长度,而在python3中,
默认是查看字符的长度,也可以用bytes转换成字节,查看字节长度
比如,汉字“李杰”,python3的长度是2,python2的长度是6

list() #迭代转换成列表
set()
str()
max() #求最大值
min() #求最小值
sum() #求和

memoryview() #和内存地址相关的类,python3中新加的

open()
iter() #创建迭代器的
next()
object()
pow() #求指数pow(2,10)=1024
property() #面向对象会用
range() #范围
reversed() #反转,和列表中的li.reverse()一样
round() #四舍五入
slice() #python3中新加的,切片的功能。类似于li[1:2]
sorted() #排序,类似于li.sorted()

var() 当前模块中有那些变量

zip()


  1. -----------------------------------------------
  2.                 例子7,
  3.                 l1 = ["Alex",'11','22']
  4.                 l2 = ['is',11,22]
  5.                 l3 = ['good','a','b']
  6.                 res = zip(l1,l2,l3)
  7.                 tem = list(res)[0]
  8.                 ret = ' '.join(tem)
  9.                 print(ret)
  10.                 
  11.                 结果:
  12.                 Alex is good






阅读(1193) | 评论(0) | 转发(0) |
0

上一篇:函数基础知识

下一篇:文件的处理

给主人留下些什么吧!~~