函数(笔记4/15)

函数的定义

1.函数代码块以 def 关键字开头,后街函数标识符名称和小括号()。
2.任何传入参数和自变量必须放在小括号中间,用来定义参数。
3.函数第一行语句可以选择性的使用字符串——用于存放函数说明。
4.return【表达式】结束函数,选择型地返回一个值个调用方。没有返回值,return相当于返回None。

在这里插入图片描述

函数调用

1.定义一个函数只给了函数以个名称,指定了函数里包含的参数,和代码块结构。
2.函数定义完成后,可以通过另一个函数执行调用

def han_name(str):
    "定义一个函数"
    "输出参数"
    print(str)
han_name("???bad boy")    

运行结果:
在这里插入图片描述

参数传递

类属于对象,变量是没有类型的:

a=[1,2,3]
a="??bad boy"

“1,2,3"属于列表类型,”??bad boy"属于String类型。
a 是没有类型的,只是对象的引用(一个指针)

为参数设置默认值

调用参数时,形参的值没有传入,则为默认值。

def printinfo(name,Age=35):
    #打印任何传入的字符
    print("Name:",name)
    print("Age:",Age)
#调用printinfo函数
printinfo(name="miki")
printinfo(Age=9,name="miki")

运行结果:
在这里插入图片描述

关键字参数

概念:关键字参数是指使用形式参数的名字来确定输入的参数值。

1.关键字参数和函数调用关系紧密,函数使用关键字参数来确定传入的参数值
2.使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名配置参数值。
#函数说明:

def printme(str):
    "打印传入的字符串"
    print(str)
#调用printme函数
printme(str="My string")

运行结果:
在这里插入图片描述

def printme(num,str,a):
    print(str)
    print(num)
    print(a)
printme(str="My string",num=16,a=9)    

运行结果:
在这里插入图片描述

def printinfo(name,age):
    "打印任何传入的字符串"
    print("name",name)
    print("age",age)
#调用printinfo函数
printinfo(age=50,name="miki")

运行结果:
在这里插入图片描述

可变参数

1.有时候可能需要一个函数处理比当初声明更多的参数。这些参数叫可变参数,声明时不会命名。
2.基本语法:

def functionname([formal_args]*args,**kwargs):
      "函数_文档字符串"
      function_suite
      return[expression]
      

3.加了(*)的变量args会存放所有未命名的变量参数,args为元组;
4.而加**的变量kwargs会存放所有未命名的变量参数,即形如key=value的参数,kwargs为字典。

了解形式参数和实际参数

1.定义和调用有参的函数
<1>定义带有参数的函数

def add2num(a,b)#形参
    c=a+b
    print(c)

<2>调用带有参数的函数
以调用上面的啊大大num(a,b)函数为例:

def add2num(a,b):
    c=a+b
    print(c) 
add2num(11,22)    #实参
#调用有参数的函数时,需要在小括号中,传入数据

位值参数

概念:位值参数是必须按照定义时的个数和顺序进行参数传递,也称必备参数。

位置参数

1.形参和实参个数必须保持一致,最好按照位值传参

def getInfo(name,age):
    print(name,age)
getInfo('admin',21)
getInfo(age=11,name='admin')
    #说明:滴哦用函数时参数的传入顺序
    

运行结果:
在这里插入图片描述

可变参数

#累加运算
def mysum(args):
    #*args:可变参数(也可以缩写成*a)
    #args的数据类型为:元组(tuple)
    print(args)
    print(type(args))
    sum=0
    for item in args:
        sum+=item
    print(sum)
mysum(1,2,3,4,5,6,7,8,9)
mysum(1,2,3,4,5)

运行结果:
在这里插入图片描述

def getStulInfo(name,age,**kwargs):
    #**kwargs是一个字典,可以传剃任意多的key_vaule
    print(name,age)
    print(kwargs)
getStulInfo("admin",19,list=['coding','runing'],str='female')

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值