函数基础
函数是一种方法,可以用来实现特定的功能。
数学中的定义:函数是给定一个数集A,假设其中的元素为x,对A中的元素x施加对应法则f,记作f(x),得到另一数集B,假设B中的元素为y,则y与x之间的等量关系可以用y=f(x)表示。

计算机函数:代码片段
- 一段具有特定功能,可重复使用的代码
- 用函数名来表示并通过函数名完成功能调用
使用函数的意义:
- 代码的重复利用;
- 减少程序中的代码重复量,使代码更加容易被理解;
- 让代码更易于维护与更新。
- 主程序结构更清晰
函数分为内建函数和自定义函数
内建函数:python自带的函数称为内建函数,在写程序时直接按照规则调用即可。比如print(),int(),input()等。除了内置函数,python还有内置的标准函数库,当我们把这些额外的函数库导入到程序里时,可以用这些函数库中提供的方法,访问这些函数时需要以库名.函数名的方式来应用。
比如:
import math #导入数学函数
a=math.sqrt(2) #a等于2开平方根
print(a)#输出a
结果:1.4142135623730951
标准库函数可参见https://docs.python.org/zh-cn/3/library/
自定义函数:函数的功能和使用方法都由用户决定。
函数的定义与调用
def是define的缩写,表示定义一个函数格式:
def函数名称():
函数内的语句
当我们需要用这个函数时,直接写“函数名称+()”即可
注意:函数名称中不能有空格,可以用下划线代替
利用参数可以向函数传递信息,比如:
def hello_user(user_name):#user_name是参数
print('Hello'+user_name)
hello_user('Mike')#调用函数,'Mike'类似于变量赋值
结果:HelloMike
如果要传递两个以及以上参数,只需要使用逗号分割:
def hello_user(user_name, age)
参数没有数量限制,但是参数传输的位置和设定时一一对应。
def user(user_name,age):
print(user_name+'的年龄是'+age)
user('Mike','25')
结果:Mike的年龄是25
关键字参数(关键字参数类似于变量赋值)
def user(user_name,age):
print(user_name+'的年龄是'+age)
user(age='25',user_name='Mike')
结果:Mike的年龄是25
默认参数。如果在调用函数时,不定义参数值,则输出默认参数。定义后,输出的是新值。
def user(user_name='John',age='28'):#John和28是默认参数
print(user_name+'的年龄是'+age)
user(age='25',user_name='Mike')
结果:Mike的年龄是25
如果函数要返回一个结果的话,可以使用 return 关键词,在使用函数的时候就可以指定一个变量接收。
def add(a,b):
sum=a+b
return sum
c=add(3,5)
print(c)
结果:8
python可以返回多个值,从本质来说是返回了一个包含多个值的元组。

变量的作用域是有分区的,函数内定义的变量只在函数内起作用。变量的作用域遵循从上到下的原则,最开始定义的变量在它之下的代码都起作用,不过可以被覆盖。不过值得注意的是,函数内部定义的变量只在函数内部起作用,脱离函数代码块之后,在全局是不存在的。
a=1
def hello():
a=2
print(a)
hello()
print(a)
结果:2,1
a=1
def hello():
print(a)
hello()
print(a)
结果:1,1
优先在函数内寻找变量,如果函数内未定义,会从函数外部寻找变量。
a=1
def hello():
print(a)
a=2
hello()
print(a)
结果:报错,因为未创立先使用了。
如果要使得函数内部定义的变量可以全局使用,可以使用关键词 global 。
本文探讨了Python中的函数概念,包括函数的基础定义、代码复用、内建函数与自定义函数的区别。通过实例介绍了如何定义和调用函数,强调了参数传递、默认参数和关键字参数的使用。同时,提到了函数返回值以及变量作用域,特别是局部变量和全局变量的区分和交互。

被折叠的 条评论
为什么被折叠?



