寒假第十八天

今天学了python函数调用 跟Java的差不多

def printme(str):
    "打印任何传入的字符串"
    print(str)
    return


# 调用函数
printme("我要调用用户自定义函数!")
printme("再次调用同一函数")

 

 首先先定义一个函数

           def 函数名(变量):

        return //结束函数

然后调用

 

传不可变对象实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

def ChangeInt(a):
    a = 10
    print(a)

b = 2
ChangeInt(b)
print (b) 

这里调用changeInt()函数 ,这个函数里的值是确定的。传个其他值不改变本来值的结果

 

 

传可变对象实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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


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

mylist.append 是添加列表元素

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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


# 调用printinfo函数
printinfo(age=50, name="miki")
printinfo("name",1)

 

 

 

两种调用函数 都可以

 

不定长参数

加了星号(*)的变量名会存放所有未命名的变量参数

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return
 
# 调用printinfo 函数
printinfo( 10 )
printinfo( 70, 60, 50 )

这里就是for 循环将*vartuple循环的输出出来

 

匿名函数

就是

lambda [arg1 [,arg2,.....argn]]:expression
这种结构的 agr是变量 :后面是表达式
调用的话lambda相当于函数名

 

posted @ 2020-02-13 19:14  张利杰j  阅读(86)  评论(0编辑  收藏  举报