函数定义与参数

函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率
 
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编辑  收藏  举报

导航