新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数定义
函数代码块以 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 );