函数:
在项目开发的过程中,有些功能代码我们可能会经常使用,我们可以将这些代码按照它的功能封装成函数,在需要的时候调用即可。
优点:
1.提高代码的服用性,简化代码结构
2.增加代码的可维护性
函数的定义:
def 函数名(参数列表):
函数体
return 表达式
def :关键字表示定义函数的开始
函数名 :遵循标识符的命名规则
():列表参数的开始以及结束,无论是否有参数,小括号都不能省略
参数列表:参数与参数之间使用逗号隔开,若不存在参数可以不写
: 函数的功能以冒号开始,并且需要换行缩进
函数体: 封装函数的功能
return : 函数结束之后的返回值,若没有返回值,return可以不写,不写的时候,默认return None。
函数的调用:
函数名(参数列表)
参数列表:若此函数需要参数,则我们需要将参数传递进去,若此函数不需要参数,则我们无需传递参数。
求1+2+3+4+…+n的和
def he(n):
res = 0
for x in range(1,n+1):
res += x
return res
print(he(10)) #55
求sum = 1!+2!+3!+…+n!
def jiecheng(n):
res = 0
ji = 1
for x in range(1,n+1)
ji *= x
res +=ji
return res
print(jicheng(10)) #4037913
参数的传递:
形参(形式参数):定义在函数的参数列表中的参数,我们称之为形参
作用:用来接收函数调用者传递过来的值
实参:函数调用过程中传递的参数
作用:给形参赋值
参数传递的本质:实参给形参赋值的过程
对于不可变类型的传递是值传递
对于可变类型的传递是地址传递(引用传递)
若传递进去的对象是不可变类型,当在函数体内对象发生改变的时候,不会改变被传递的变量,若传递进取的变量是可变类型,当在函数体内对该变量进行更改的时候,它会影响到被传递的变量。
str1 = "hello world"
def func(x):
print(id(x)) #35534640
print(x) #hello world
x = "hi boy"
print(x) #hi boy
print(id(x)) #35518704
func(str1)