目录
思考:为什么我们要学习函数
结果一目了然:为了减少代码的重复率
开始学习函数
一.函数的格式
1.第一个函数
函数要有头有尾:
1,头:定义函数
2. 尾:调用函数
# 一.创建一个say_hello函数
def say_hello():
print('hello python!')
say_hello() # 打印函数
函数输出如下:
2.把我们文章开头的思考变成一个函数
def smile():
print('哈哈', '嘻嘻', '呵呵')
print('哈哈', '嘻嘻', '呵呵')
print('哈哈', '嘻嘻', '呵呵')
smile()
print('程序开始了')
smile()
print("程序进行中")
smile()
print("程序结束了")
这样,我们就省去了很多很多的重复代码,结果如下:
二.函数的注释
函数的注释一般用三引号给函数注释,一般放在函数体中的首位!!!
我们可以在调用函数时运用ctrl+q查看我们的注释!!!
现在,我们假设一个函数aa():
在调用函数时,也就是下面那个aa,使用ctrl+q移动到aa上,会出现:
出现了注释:‘你好’
三.函数的参数
首先,我们看一下函数的结构
1.无参数时: def 函数():
2.有参数时: def 函数(num1,num2,.......)
3.注意事项:
1.实参和形参
def sum(a,b):
print(a,'------>',b)
num1 = a
num2 = b
num3 = num1 + num2
print(num3)
#调用函数
sum(1,2)
上面的函数中:
a 和 b 是形参
1 和 2 是实参
2.函数参数的数据类型
可变数据类型:list,dic...
不可变数据类型:str.int.float...
注意事项:
1.如果传递的是不可变数据类型,函数体中不能修改传递的值得大小
1.传递不可变类型
(1).我们现在来打印不可变参数int
a = 10000
def func(b):
print(b)
func(10000)
结果是
(2)打印
结果为:(原因:a和b的内存地址是相同的,都指向10000)
(3)
a = 10000
print('a的内存地址:',id(a))
def func(b):
# print(b)
# print('b的内存地址:',id(b))
b = 200
print('b的内存地址是:',id(b))
print(b)
func(a)
结果是:
出现的原因在于:内存地址的变化:
a 指向10000
b 指向200(b直接重新开辟了一块空间。)