python函数入参、顺序可不可变_Python基本注释4(函数、可变和不可变对象、局部和全局变量、参数传递),python,基础,笔记,与,的...

一、函数

又叫方法,是用代码编写的能实现某一功能的代码块

定义:

def 函数名(形参列表):

函数体

return 返回值

def my_Sum(a,b):

sum = a + b

return sum

调用

语法一:

函数名(实参)

A= my_Sum(1,2)

print(A)

语法二:(推荐)

为防止不同类,包中相同函数名造成调用混乱,使用判断条件

if __name__ == ''__main__'':

函数名(实参)

if __name__ =='__main__':

B = my_Sum(2,3)

print(B)

cad07e10e1baf4381c2b0e275f76bb99.png

return返回值

return:函数中遇到return时直接跳出函数,后面的语句不会执行。

当函数没有return时,默认返回None

当返回值为多个数据时,返回值用

逗号

隔开

若接收是对象只有一个时,返回值会以元组的形式返回;

若以相同长度对象接收时,返回值会依次对应赋值,接收对象要用

逗号

隔开

def my_Sum(a,b):

sum = a + b

DEL = a*b

return sum,DEL

A,DEL= my_Sum(1,2)

print(A)

print(DEL)

print(A,DEL)

1c1aee2ec8185814455b8fa57ca0ed38.png

二、可变对象与不可变对象

不可变对象

数值型,字符型,元组,

修改对象的值之后,对象的前后的内存地址发生改变

a = '1234'

print(id(a))

a = '1a34'

print(id(a))

eac2b1ea3349b77befca51400847e15d.png

可变对象

列表,集合,字典

修改对象的值之后,对象的前后内存地址不会发生改变,还是指向像相同的内存地址

id()函数查看数据的内存地址

a = [1,2]

print(a)

print(id(a))

a.append(3)

print(a)

print(id(a))

3eea4d71d4a114c71300396a7855149a.png

不可变对象当作参数传入函数中,外面的对象本身不变;

可变对象当作参数传入函数中,外面的对象会跟着改变;

三、局部变量与全局变量

全局变量:定义在函数外部,作用于整个代码

局部变量:定义在函数内部,值作用于函数内部

关键字global,声明局部变量为全局变量

a = 1

print(a)

def sda():

global a

a = 2

sda()# 调用函数

print(a)# 再次输出a

1847fc9ef421c70efc58855df74cbf18.png

四、参数的传递

参数传递四种方式

参数的传递

必须参数

关键字参数

默认参数

不定长参数

1.必须参数

实参的个数、顺序、类型、与形参必须一致

2.关键字参数

函数调用时用形参来赋值带入,此时实参的顺序与形参的顺序可以不一致

def sda(a,b):

sum = a+b

return sum

print(sda(b = 1,a = 2))

5fd473b0464ced63bd839b3b23b0006c.png

3.默认参数

在函数定义时候给的初始值,不影响调用时传入的实参,只是在部分函数中为保证函数的完整性

语法

def 函数名(形参 = 初始值):

……

例:

def sda(a=10,b=10):

sum = a+b

return sum

print(sda())

print(sda(1,3))

2304942c616f57222276bb4a7d0aba0a.png

4.不定长参数

在实参个数不定时使用

语法:

def 函数名(*参数名):

for i in 参数名:

循环体

return 返回值

def sum1(*number):

total = 0

for i in number:

total += i

return total

print(sum1(1,2,3,4))

1d743dfb3312a7827bce1537aa0a87d0.png

五、匿名函数

lambda关键字

语法

lambda 形参:执行语句

匿名函数没有return返回,执行语句本身就是返回值

参数可以使多个

调用:

直接将语句赋值给一个变量,然后调用

调用语句

赋值变量名(实参)

a = lambda x,y,z:x+y+z # 定义匿名函数

p=a(12,2,3)#调用匿名函数

print(p) # 打印输出函数值

8074e1eadd0ed43769846c858b220c3a.png

使用场景,多为一次性使用的函数,一般是单行语句,懒得起名的函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值