函数定义与参数
函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率
def 来定义函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
#!/usr/bin/env python # coding=utf-8 #def 定义sum(x,y)函数 def sum(x,y): print ('x = %d' %x) print ('y = %d' %y) return x+y a = 10 b = 20 c = sum(a,b) ##调用sum()函数 print 'sum is :{0}'.format(c)
结果
x = 10 y = 20 sum is :30
局部和全局变量
局部变量一般为函数内的变量
全局变量和局部变量同时存在时,函数会先查找函数内的局部变量,函数内没有时查找函数外的全局变量
函数外打印调用会先查找全局变量,没有时查找函数局部变量
global +变量名 可以在函数内将局部变量申明为全局变量(尽量少用,会覆盖之前的全局变量)
函数默认参数
def users(username,age,group='admin'): d = {} d[username] = group return list print users('ABC') ###不给group赋值时,默认为admin print users('Rachel',"ChinaMoible",age='20') ##多个参数时,默认会以位置对应函数中的参数,位置不对应时需要制定参数名赋值
函数的关键参数
*args 一个星号 可以输入多个参数,输出为一个元组
def fun(*args): print args fun('python','b','c',123 ) 结果 ('python', 'b', 'c', 123)
**kwargs 两个星号,输入多个参数并指定值,输出为一个字典
def fun2(a,**kwargs): print (a) if kwargs.has_key('name'): print kwargs['name'] print kwargs fun2(name='A', age=20, phone=123456) 结果 100 studentA {'phone': 123456, 'age': 20, 'name': 'studentA'}
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
posted on 2017-11-01 21:49 song-liang 阅读(784) 评论(0) 编辑 收藏 举报