函数分类:
内置函数 | 系统自己定义的方法 |
自定义函数 | 开发者自己写的能完成某一个功能的代码块 |
导入模块(第三方模块) | 在系统和开发者之外别人完成的能实现某一功能的代码块 |
示例脚本:
#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,])
#print filter(lambda x:x==1,[1,2,3,4])
#序列
print reduce(lambda x,y:x+y,[1,2,3])
#累加
print zip(x,y,z)
转载于:https://blog.51cto.com/ucode/1717648