设为首页 收藏本站
查看: 551|回复: 0

[经验分享] python内置函数

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-25 09:44:21 | 显示全部楼层 |阅读模式
  • abs() # 取绝对值
  • all()  #参数为序列,参数为list就判断所有元素,参数为dict就判断所有key,都为真则为真。
  • any() #判断参数中一个为真,则为真。
  • ascii()#同各数据类型方法中的__repr__(),返回一个可打印的对象字符串方式表示。当遇到非ASCII码时,就会输出\x,\u或\U等字符来表示      

1
2
print(ascii(10), ascii(9000000), ascii('b\31'), ascii('0x\1000'))  
结果:10   9000000   'b\x19'   '0x@0'



  • bin()#转换为二进制
  • bool()#判断参数真或假
  • bytearray() #把参数转换为指定编码的字节码,返回字节数组。
  • byte() #把参数转换为指定编码的字节码,返回字符串。
  • callable() #判断是否可以执行,是否是一个方法
  • chr() #将数字转换成ascii码的字符。ord()函数可以转换回来。
  • classmethod()#
  • compile()#编译,web框架中把字符串 编译成python代码。
  • complex() #复数定义
  • delattr() ,getattr(), hasattr() ,setattr() #反射
  • dict() # 字典定义
  • dir() # 不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。vars() # 则返回当前范围内可用变量和变量的值。
  • divmod() #取商/余数
  • enumerate() #在循环输出的字符前添加整数序号,可指定从几开始。


1
2
3
4
5
6
7
>>>li=['lu','c','ya']
>>>for i in enumerate(li,1):   
    print(i)
结果:   
(1,'lu')
(2,'c')
(3,'ya')




  • eval()#动态地执行一个表达式的字符串

1
2
3
4
>>>x = 1
>>> print eval('x+1')

2




  • exec() #用来执行储存在字符串或文件中的Python语句  execfile()可以执行一个文件中的python代码

1
2
3

>>>exec 'print "Hello World"'
Hello World




  • fileter() #filter(function     or None, sequence) -> list, tuple, or string

    • 对sequence中的item依次执行function(item),将结果为true的item组成一个list\tuple\string取决sequence的类型,把结果为false的过滤出去。

1
2
3
4
5
>>> filter(lambda x : x%2,range(10))      
#lambda 函数返回奇数,返回列表
[1, 3, 5, 7, 9]
>>> filter(lambda x : x!='z','zhoujy')     #labmda返回True值
'houjy'




  • reduce()#reduce(function,     sequence[, initial]) -> value

    • 对sequence中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值。


1
2
3
4
5
6
7
8
9
10
11
12
13
>>> reduce(lambda
x,y:x*y,range(1,3),5)           #lambda 函数,5是初始值, 1*2*5
10
>>>
reduce(lambda x,y:x*y,range(1,6))             #阶乘,1*2*3*4*5
120
>>>
reduce(lambda x,y:x*y,range(1,6),3)           #初始值3,结果再*3
360
>>> reduce(lambda
x,y:x+y,[1,2,3,4,5,6])         
#1+2+3+4+5+6
21




  • map()#map(function,     sequence[, sequence, ...]) -> list

    • 对sequence中的item依次执行function(item),执行结果输出为list。

1
2
3
4
5
6
7
8
9
10
11
12
13
>>>
     def add(n):return n+n

          ...

          >>> map(add, range(5))           #对range(5)各项进行add操作

          [0, 2, 4, 6, 8]
>>> map(add,'zhoujy')            
['zz', 'hh', 'oo', 'uu', 'jj', 'yy']
>>>
map(add,'zhoujy','Python','testop')
['zPt', 'hye', 'ots', 'uht', 'joo', 'ynp']




  • float() #转换浮点数
  • format() #字符串格式化

1
2
3
4
5
6
7
8
9
10
11
12
>>>
     s='{name} is {actor}'
>>> print
(s.format(name='cyalu',actor='nanshen'))
cyalu is nanshen
>>>dic={'name':'cyalu','actor':'nanshen'}
>>>s.format(**dic)
cyalu is nanshen
>>>list=['cyalu','nanshen']
>>>s='{0} is {1}'
>>>s.format(*list)
cyalu is nanshen




  • frozenset() #冻结集合,不可变。没有add,remove方法。好处可以用作字典的key。
  • globals() #当前所有的全局变量
  • hash() #返回对象的哈希值。返回的哈希值是使用一个整数表示,通常使用在字典里,以便实现快速查询键值。参数object输入是数字类型时,是根据数值来计算的,比如1和1.0计算出来是一样的哈希值,因此说这个函数是不区分不同的数值类型。

1
2
3
4
5
6
print(hash('abc'))
700737775
print(hash(2.0))
2
print(hash(2))
2




  • help() # 帮助查看可用方法
  • hex() # 转成16进制 (0x)开头即为16进制数
  • id() # 查看对象在内存地址
  • input() #获取交互输入
  • int() #转换成整型
  • isinstance() #判断对象类型

    • isinstance 和      type的区别在于:对于subclass之类的 type就不行了,所以,强烈建议不要使用type判断对象类型。

1
2
3
4
5
6
7
8
9
10
11
12
class
     A:
           pass
class B(A):
          pass
isinstance(A(), A)  # returns True
type(A()) ==
A      # returns True
isinstance(B(), A)    #
returns True
type(B()) ==
A        # returns False




  • issubclass() #本函数用来判断类参数class是否是类型参数classinfo的子类。

1
2
3
4
5
6
7
8
9
10
11
12
class Line:  
    pass  
class RedLine(Line):  
    pass  

class Rect:  
    pass  

print(issubclass(RedLine, Line))
True
print(issubclass(Rect, Line))
False




  • iter() #

1
2
3
4
5
6
7
8
s = '软件是北京的未来'   #s是一个iterable对象,它有__getitem__()方法  

it = iter(s)             #it是一个iterator对象,它有 __next__()和__iter__()方法  

print(s)  
print(it.__next__())  软
print(it.__next__())  件
print(it.__next__())  是




  • len() #取长度
  • list() # 列表
  • locals() #查看所有局部变量
  • max() # 取最大值
  • min() # 取小值
  • memoryview() #本函数是返回对象obj的内存查看对象。所谓内存查看对象,就是对象符合缓冲区协议的对象,为了给别的代码使用缓冲区里的数据,而不必拷贝,就可以直接使用。
  • next() # 下一项
  • oct() # 转成8进制(0o)开头为8进制

  • open() #操作文件

1
2
3
4
with open("user",a)as f:
f.seek()#指定当前指针位置
f.tell()#查看当前指针位置
f.read() #默认全读,传参指定读取字符




  • pow() #幂

1
2
math.pow(2,4)  #2的4次方
16.0




  • print() # 打印


  • range() # 取范围内的整数
  • reversed() # 反转
  • round() # 四舍五入
  • set() # 集合
  • slice() # 本函数是实现切片对象,主要用在切片操作函数里的参数传递。

1
2
3
4
5
6
myslice = slice(5)  
print(myslice)  
slice(None, 5, None)
l = list(range(10))  
print(l[myslice])  
[0, 1, 2, 3, 4]




  • sorted() # 排序
  • str() # 字符串
  • sum() # 求和
  • tuple() #元组
  • zip() #接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。

1
2
3
4
5
6
7
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print xyz
[(1,
4, 7), (2, 5, 8), (3, 6, 9)]



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-208519-1-1.html 上篇帖子: python内置函数proprety() 下篇帖子: python时间处理模块 datetime time模块 deltetime模块 python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表