码迷,mamicode.com
首页 > 编程语言 > 详细

python笔记-函数

时间:2018-02-08 20:14:36      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:结束   实例   冒号   关键词   函数调用   usr   函数定义   ota   修改   

函数定义
函数代码块以 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 );

python笔记-函数

标签:结束   实例   冒号   关键词   函数调用   usr   函数定义   ota   修改   

原文地址:http://blog.51cto.com/11test/2070336

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!