python8函数
来源:互联网 发布:泰尔指数公式及其算法 编辑:程序博客网 时间:2024/06/05 16:10
1.定义函数
• def关键字,依次写出函数名、括号、括号中的参数和冒号:
• 在缩进块中编写函数体,函数的返回值用 return 语句返回。
def func():
pass
return
2.调用函数
Python 内置了很多有用的函数,我们可以直接调用:
• abs()
• cmp()
• 数据类型转换函数:
int(), float(), str(),unicode(),bool()
3.理解函数名
•函数名与变量名类似,其实就是指向一个函数对象的引
用;
•给这个函数起了一个“别名”:函数名赋给一个变量
4.空函数
• 定义一个什么事也不做的空函数,可以用 pass 语句;
• pass 可以用来作为占位符,还没想好怎么写函数的代码,
就可以先放一个 pass ,让代码能运行起来
def nofunc():
pass
5.参数检查
•调用函数时,如果参数个数不对,Python解释器会自动
检查出来,并抛出 TypeError;
• 如果参数类型不对,Python解释器就无法帮我们检查。
• 数据类型检查可以用内置函数 isinstance 实现
6.函数返回值
函数可以返回多个值吗?那编写python程序,思考下:
定义一个函数func,传入两个数字,返回两个数字的
平均值与最大值
def func(x,y):
if not isinstance(x,int) or notisinstance(y,int):
print 'Error Type'
avg = sum((x,y))/2
maxnum = max(x,y)
# return "平均值:[%d],\t最大值:[%d]," %(avg, maxnum)
return (avg,maxnum)
myavg, mymax = func(2,10)
print myavg, mymax
• 函数返回值用return关键字;
• 返回一个 tuple可以省略括号;
• Python 的函数返回多值其实就是返回一个 tuple
• 函数执行完毕也没有 return语句时,自动 return None
7.函数参数
•默认参数可以降低调用函数的难度。
定义一函数,计算x值的n次方。那如果计算x平方时只需要传入
x值
def power(x,n=2):
return x**n
print power(2,3)
默认参数注意事项:
•有多个参数时,变化大放前面,变化小的放后面;
•必选参数在前,默认参数在后
默认函数容易出错点:
试一试:先定义一个函数,传入一个 list,添加一个
END 再返回.
def fun(li = []):
if len(li) == 0:
return ['END']
li.append('END')
return li
print fun([1,2,3])
8.可变参数
- 可变参数就是传入的参数个数是可变的,可以是 1 个、2个
到任意个,还可以是 0 个。*args
def fun(*args):
print type(args)
return max(args),min(args)
li = 1,42,3,14,58,6
print fun(*li)
如果已经有一个 list或者 tuple,要调用一个可变参数怎么办?
- Python 允许你在 list或 tuple前面加一个 *号;
- 把 list或 tuple的元素变成可变参数传进去;
largs = [1,2,3]
func(largs[0],largs[1],largs[2])
func(*largs)
9.关键字参数
•关键字参数允许你传入 0 个或任意个含参数名的参数;
•这些关键字参数在函数内部自动组装为一个 dict;
•关键字参数用**kwargs
def enroll(name, age=22, **kwargs):
print 'name:' + name
print 'age:%d' % age
for k, w in kwargs.items():
print '%s : %s' % (k, w)
dic = {'myclass':'运维班',"gender":'male'}
enroll('fentiao', **dic)
10.参数组合
•参数组合是指可以必选参数、 默认参数、 可变参数和关键
字参数一起使用。
•参数定义的顺序必须是:必选参数、 默认参数、可变参数和
关键字参数。
11.参数总结
• 必选参数
•默认参数:默认参数一定要用不可变对象
•可变参数:*args是可变参数,args接收的是一个 tuple
•关键字参数:**kw是关键字参数,kw接收的是一个dict
•对于任意函数,都可以通过类似 func(*args,**kw) 的形式调用它
12.变量的作用域
• 局部变量:只能在函数内部使用的变量
• 全局变量:在整个程序中使用的变量
• global关键字:强制将局部变量转换为全局变量
b = 2 # 全局变量,在整个代码中生效
def a():
global b
b=1 # 局部变量,只在函数内生效
print b
a()
print b
- python8函数
- Python8--匿名函数、变量交换
- python8:集合
- Python8:logging Module
- python8--scrapy第一个练习(获取豆瓣电视剧评论)
- Python8-10行代码生成任意形状的文字云图
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- [状态压缩||折半搜索]51nod 算法马拉松3 A
- 数组2
- VC6.0加载lib文件的三种方法
- 十进制转二进制
- java算法学习笔记--队列结构
- python8函数
- 图解TCP UDP建立网络通信的模型,
- css中的定位
- jsp-url 中文参数乱码解决办法
- 《Java EE互联网轻量级框架整合开发》开售,源码下载和纠错
- Linq to xml实现xml数据增删改查
- logistic regression 和 softmax regression的损失函数
- ImageLoader学习笔记一
- 第二周了,革命尚未成功同志仍需努力,↖(^ω^)↗