函数分类:
内置函数 |
系统自己定义的方法 |
自定义函数 |
开发者自己写的能完成某一个功能的代码块 |
导入模块(第三方模块) |
在系统和开发者之外别人完成的能实现某一功能的代码块 |
示例脚本:
vim Built-in function.py #!/usr/bin/env python# -*- coding:utf-8 -*-"""该脚本是Python内置函数的测试脚本"""li = [13,22,6,99,11]name = 'alex'print vars()
#vars()是代表当前模块的所有变量,print vars()打印所有的变量
输出结果:
{'name': 'alex', '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py', '__author__': 'ryan', 'li': [13, 22, 6, 99, 11], '__name__': '__main__', '__package__': None, '__doc__': None}
从图上可以看到输出的是一个字典:
name:alex li: [13, 22, 6, 99, 11]
是我们自己定义的两个变量,下面的这些函数都是系统内置的函数,具体功能如下
__builtins__:<module '__builtin__' (built-in)> __file__:C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py __author__:ryan __name__:__main__ __package__:None __doc__: None
从字典的键值对可以发现,
内置函数__file__ 其实是打印运行的脚本本身,即Built-in function.py
内置函数__doc__ 是获取函数或者文件解释的内容,比如我们在文件开始写上注释内容
"""
该脚本是Python内置函数的测试脚本
"""
此时打印__doc__,则可以通过__doc__函数打印出来
C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py
该脚本是Python内置函数的测试脚本
内置函数:__name__ 执行脚本时。脚本中的__name__的值为"__main__",导入模块到脚本中,模块中的__name__的值是模块本身
还是以上面的脚本为例:
import coll print coll.__name__ print "###############" print __name__
输出结果为:
coll ############### __main__
可以发现:coll中的__name__内置方法的值等于coll,Built-in function.py中的__name__
等于__main__
即导入模块中的__name__方法值为模块名字,被执行脚本中的__name__方法的值为__main__
在写Python脚本时,一般在结尾会出现如下语句:
if __name = "__main__": 函数function()
意思是当直接执行脚本的时候,才会调用该函数,如果用其他方法执行(或者导入到其他文件中)函数都不会执行函数function()
常用的函数(方法):
#基础类型级别
help() dir() vars() type() reload() id() is
#计算类别的
cmp() abs() bool() divmod() --->设计页面分页用该函数,求出商和余数,判断是否加N max() min() sum() pow() --->幂运算
##################
len() --->求序列长度 all() --->接收一个序列,判断,如果的值都是真的,那么all()返回真,否则返回假,可用于判断用户输入是否为空 any() --->跟all()类似,区别是只要接收的内容中有一个为真,则返回真,否则返回假
#编码转换
chr()----->接收一个字符,根据字符求出该字符在ascii码中的数字表示 ord()----->接收一个数字,根据数字求出该数字在ascii码中表示的字母
#进制转换
hex() ----->十六进制 oct() ----->八进制 bin() ------>二进制 >>> hex(12) '0xc' >>> oct(12) '014' >>> bin(12) '0b1100' >>>
enumerate()------->将传入的列表可以组成字典
>>> li = [11,22,33,44,55,66] >>> for k,v in enumerate(li): ... print k,v ... 0 11 1 22 2 33 3 44 4 55 5 66 >>>
指定数字的起始值,不加1,默认从0开始
>>> for k,v in enumerate(li,1): ... print k,v ... 1 11 2 22 3 33 4 44 5 55 6 66 >>>
常见的函数相关的方法:
print apply(Function,('aaaa')) #执行函数print map(lambda x:x+1,[1,2,3,]) #allprint fileter(lambda x:x==1,[1,2,3,4])#True 序列print reduce(lambda x,y:x+y,[1,2,3]) #累加print zip(x,y,z)