Python学习之——函数

本质:函数就是对功能的封装

 

优点:

1.简化代码结构,增加代码复用度

2.如果想修改某些功能或调试某个bug,还需要修改对应的函数即可

 

定义函数:

格式:

def 函数名(参数列表):

    语句

    return 表达式

 

def:函数代码块以def关键字开始

函数名:遵循标识符规则

参数列表:参数1,参数2,。。。参数n:任何传入函数的参数和变量,必须放在圆括号之间,用逗号分隔。函数从函数的调用者那里获取的信息

“:”:冒号函数内容以冒号开始,并且缩进

语句:函数封装的功能

return:一般用于结束函数,并返回信息给函数的调用者

表达式:即为要返回给函数的调用者的信息

 

注意:最后return 表达式,可以不写,相当于return None

 


 

最简单的函数(无参无返回值)

def myPrint():

    print("sunck is a good man")

 

#函数的调用

myPrint()

 


 

函数的调用

格式:

函数名(参数列表)

 

函数名:是要使用的功能的函数名字

参数列表:函数的调用者是函数传递的信息

 

函数调用的本质:实参给形参赋值的过程

 


 

函数的参数

#形参:形式参数,定义函数时小括号中的变量,本质是变量

def myPrint(str, age):

    print(str, age)

 

#实参:实际参数,调用函数时给函数传递的数据,本质是值

myPrint("sunck is a good man", 16)

 


 

函数的返回值

def mySum(num1, num2):

#将结果返回给函数的调用者

    return num1 + num2

#执行完return,后面的代码不执行了

print("*******")

 

res = mySum(1,2)

print(res)

 


 

传递参数

1.值传递:传递的不可变类型(string、tuple、number)

def fun1(num):

    num = 10

    temp = 20

fun1(temp)

print(temp)

结果:20

原因:首先要明白,函数调用时,传的参数是实参,记住这一点之后就容易理解了,什么是实参,就是具体的值,我的理解就是就像创建一个对象时那样,比如per = Person("tom", 18),括号里的“tom”和“18”都是具体的值,这样的才能叫做实参。说回来,此时之所以fun1函数接受了temp,只是因为它有值,函数用的就是它的值,也就是用temp指向的数字2的地址的,而执行到函数内部temp=10时,此刻temp还是指向20的地址的。所以,输出是temp还是20。

 

2.引用传递:传递的可变类型(list、dict、set)

def fun2(lis):

    lis[0] = 100

    li = [1,2,3,4,5]

fun2(li)

print(li)

结果:[100,2,3,4,5]

原因:同理,li被函数用,是因为它有值,函数用的是li指向值的地址,也就是列表的地址,而在函数中会被执行li[0]=100,此时,要知道,li依旧指向列表的地址,是不变的,不过呢,此时是列表中的元素li[0]它指向的地址又之前的1现在指向了100了,所以输出后会发现li中元素发生变化,但要明白的是li指向的地址其实没有变

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值