函数&语法

定义一个函数

加上一些算法,由自己定义的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
    ##定义一个函数,两个人年龄的和
    
    def fan_age(qiao,yan):  #给自定义的函数设定参数
        return(qiao+yan)  #在函数体内赋予算法
    
    def fan_name(name_1,name_2):
        return("hello:",name_2)
    #  print("hello:",name_2) # 自定义函数不带return表达式,会在结果时返回一个None
    q=26
    y=24 
    print(fan_name("","桥,燕"),"两人年龄相加为:",fan_age(q,y))  #利用自己所定义的函数实现功能吧!

def 函数名(参数列表):

##定义一个函数,两个人年龄的和

def fan_age(qiao,yan):  #给自定义的函数设定参数
    return(qiao+yan)  #在函数体内赋予算法

def fan_name(name_1,name_2):
    return("hello:",name_2)  #,在return返回时把结果传入一个参数1,参数2在你调用函数时传入
#  print("hello:",name_2) # 自定义函数不带return表达式,会在结果时返回一个None
q=26
y=24 
print(fan_name("","桥,燕"),"两人年龄相加为:",fan_age(q,y))  #利用自己所定义的函数实现功能吧!

 

 

传可变对象实例

可变对象在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。例如:
def changeme(mylist):
    "修改传入的列表"
    mylist.append([1,2,3,4]);
    print ("函数内取值: ", mylist)
    return(mylist);
mylist = [10,20,30]
print("函数外%s "%"取值:",changeme(mylist),)

 

#参数组:*args(列表) **kwargs字典

def li(x,*args,**kwargs):#形参
    print(x)
    print(args)
    print(kwargs)

li(1,"q,w,e",y=2,z=3)#调用函数

 

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。以下实例中如果没有传入 age 参数,则使用默认值:

def info(name,age=25):#形参是没被定义,也不占内存的.age是实参,后面调用函数没有定义age,这里将使用默认的实参
   print(name)#调用函数后, 将函数内取到实参所传递的值打印出来
   print(age)#如果没有传递参数,则会使用默认参数
   return;
info(
"qiao")#调用函数,实参没有被重新定义,将使用默认实参值 print("___________") info("qiao",age=26)#调用函数,参数将一一对应,第二位参数被重新定义

输出结果:
qiao
25
___________
qiao
26

 



posted @ 2018-03-28 00:32  快闪开,我要起飞了  阅读(113)  评论(0编辑  收藏  举报