函数的定义和调用
比如
传递给print不同的字符,他就会输出不同的字符串,他就会输出不同的字符串
print("Hello!")
print("Bye!)
借助于互联网上大量别人开发好的函数,几乎可以无限扩展自己的代码功能
无需知道功能如何实现
给他输入,就会得到特定的输出
那么我们可以将自己的代码给别人使用吗?
可以,通过函数?
例:判断两个数的最大值并输出
if 1 >2:
print(1)
else:
print(2)
没有使用变量,直接比较两个常量,但是代码的逻辑可以
比较任何两个数值
并输出最大的数值
假设这段代码经常使用,复制代码可行吗
会和当前代码融为一体,增加对整体代码功能的理解的复杂度
如果想修改,就要将所有复制过去的代码都要改动
虽然允许别人使用,但是并不想把代码给别人看到
........这就到了需要函数的时候!
定义函数
def func():
if 1>2:
print(1)
else:
print(2)
definition(定义)
可以定义很多不同名称的函数来区分不同的函数
函数与变量的区别
strs =input()
表面的区别:函数后面有括号
实质区别:函数代表功能,变量只存储数据。
函数的使用
func()
但是这个函数太简单了
希望他们都能得到正确的最大值输出
func(1, 2) # 输出2
func(2, 4) # 输出4
func(3, 2) # 输出3
理解参数
fun(1 ,2) 实际参数(实参)
def func(num1, num2)形式参数 (形参)
#带有参数的函数
def func (num1, num2):
if num1 > num2:
print(num1)
else:
print(num2)
func(1, 2)
func(2, 4)
func(3, 2)
--------------------------------------------------------------
#关键字参数
def func (num1, num2):
if num1 > num2:
print(num1)
else:
print(num2)
func(1, 2)
func(2, 4)
func(3, 2)
func(num1 =6, num2 =1)
如果想改变这个次序,可以在实际参数前增加要赋值的参数名称
相对于此,此前默认的参数可以称之为位置参数
最好起个见名知义的函数名称
#带有参数的函数
def max(num1, num2):
if num1 > num2:
print(num1)
else:
print(num2)
max(1, 2)
max(2, 4)
max(3, 2)
max(num2=6, num1=9)
有没有设计问题?
只能输出到屏幕上
为什么只能输出到屏幕上?
不能输出到打印机上?文件中?变量中?
其实这个输出不应该作为这个函数功能的一部分
它只要能求出并把它交出来
#关于返回值
#1)函数要把值交出来
def max(num1, num2):
if num1 > num2:
return num1
else:
return num2
#2)在调用函数的时候接收这个值
print(max(1, 2))
value1 = max(2, 4)
print(value1)
关于参数和返回值
实参->形参
返回值->变量
利用封装函数,组装成完整功能
网友评论