继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python笔记-函数

茅侃侃
关注TA
已关注
手记 64
粉丝 8
获赞 19

函数定义
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]

函数调用:直接写函数名字(参数)
def printtest(str):
print(str)
return

printtest('aa')
可更改(mutable)与不可更改(immutable)对象
可更改:列表和字典
不可更改:strings, tuples, 和 numbers 是不可更改的对象

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象

传不可变对象实例
#!/usr/bin/python

def ChangeInt( a ):
a = 10

b = 2
ChangeInt(b)
print b # 结果是 2

传可变对象实例
#!/usr/bin/python

def changeme( mylist ):
"修改传入的列表"
mylist.append([1,2,3,4]);
print "函数内取值: ", mylist
return

mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist

输出结果
函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

参数:
必备参数:必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用printme()函数,你必须传入一个参数,不然会出现语法错误
关键字参数
#!/usr/bin/python

#可写函数说明
def printme( str ):
"打印任何传入的字符串"
print str;
return;

#调用printme函数
printme( str = "My string");

缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值
#!/usr/bin/python

#可写函数说明
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;

#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名

#!/usr/bin/python

def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1
for var in vartuple:
print var
return;

printinfo( 10 );
printinfo( 70, 60, 50 );

return 语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None

def sum( arg1, arg2 ):
total = arg1 + arg2
print "函数内 : ", total
return total;
total = sum( 10, 20 );

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP