Python入门教程中,如何深入理解函数的4个关键点?

2026-06-11 09:362阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1657个文字,预计阅读时间需要7分钟。

Python入门教程中,如何深入理解函数的4个关键点?

4.1 函数定义:函数的声明方式为 `def 函数名(参数)`: 使用 `pass` 表达式,`函数名` 命名规则:由字母、数字和下划线组成,与变量命名规则一致。`pass` 在此处表示什么都没有,不执行任何操作。`return` 用于函数结束并返回值。

4.1 函数的定义

  • 函数的定义:

    def 函数名(参数): pass return 表达式

    函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致 pass在这里表示什么都没有,不执行任何操作 return 后面可以返回任意表达式,但不能是赋值语句

  • 函数调用:

    函数名(参数)

  • return 和 print 的区别:

    Python入门教程中,如何深入理解函数的4个关键点?

    return没有写返回值的话,默认None

    return是函数的返回值,返回值可以赋值给变量,而print只是打印出来

4.2 函数参数

  • 必备参数:

    def func(x): print(x)

    func(1)

  • 默认参数:

    def func(x, y=None): print(x) print(y)

    func(1) func(1, 2)

    注意:默认参数要位于必备参数列表的后面

  • 不定长参数:

    def func(*args, **kwargs): print(args) print(kwargs)

    args: 参数包装成一个元组 kwargs: 参数包装成字典

    调用1:func(1, 2, 3, a=4, b=5, c=6)

    调用2:func(*(1, 2, 3), **{‘a‘: 4, ‘b‘: 5, ‘c‘: 6})

  • print (func()): 函数返回值

  • print (func) : 函数本身

?
def func(a,b,c):
print(a)
print(b)
print(c)
my_list=[1,5,2]
func(*my_list)
#一个 * 解包列表等 两个解字典
?
?

4.3 Python中简单内置函数

  • 内置对象查看:

    dir(builtins)

  • 常见函数:

    len 求长度 min 求最小值 max 求最大值 sorted 排序 reversed 反向 sum 求和

  • 进制转换函数:

    bin 转换为二进制 oct 转换为八进制 hex 转换为十六进制 ord 字符转ASCII码 chr ASCII码转字符

4.4 Python中高级内置函数

  • 返回一个可以枚举的对象

    enumerate

  • 取出字符串中的内容

  • 将字符串str当成有效的表达式来求指并返回计算结果

    eval

  • 执行字符串编译过的字符串 不返回结果

    exec

  • 过滤器

    filter

  • 对于参数中的每个元素都应用函数中,并将结果作为列表返回

    map()

  • 将对象逐一与()中的方法配对

    zip


my_list=[1,2,5,6,9,8,7,4,5,66,55,54,444,]
def sorted_func(data,my_order):
if my_order is True:
result=sorted(data,reverse=False)
return result
elif my_order is False:
result = sorted(data, reverse=True)
return result
else:
print(‘youwenti‘)

print(sorted_func(my_list,True))
?
######### zip
?
my_dict={‘a‘:100,‘b‘:200,‘c‘:300}
my_tuple=(400,500,‘haha‘)

def exchange_list (my_dict,my_tuple):
new_dict= dict(zip(my_dict.keys(),my_tuple))
new_tuple= tuple(my_dict.values())
return new_dict,new_tuple

new_dict,new_tuple = exchange_list (my_dict,my_tuple)
print(new_tuple)
print(new_dict)
?
############# map
?
a=[1,2,3,4]
def func (args):
return args*100
result=list(map(func,a))
print(result)
?
############ enumerate
?
a=[22,66,77,99,656]
for i in enumerate(a):
print(i)
?
################ filter

a=[1,2,3,4]
def func(args):
if args>2:
return True
else:
return False
result=list(filter(func,a))
print(result)
?

4.5 匿名函数

4.6 函数作用域

外部不能访问函数内部变量:
数内部能够访问函数外部变量
函数里面不能修改函数外部变量

  • global(全局变量): 最外层

    x = 123 def fun1(): global x x += 1 return x

  • nonlocal(局部变量): 上一层变量

    def fun2(): x = 123 def fun3(): nonlocal x x += 1 return x return fun3()

4.7嵌套函数 闭包

  • 嵌套函数

    def func_out(): def func_int(): print(‘nei ‘) return func_int result=func_out() result()

  • 闭包:

    闭包是函数里面嵌套函数,外层函数返回里层函数,这种情况称之为闭包。

    闭包是概念,不是某种函数类型,和递归的概念类似,就是种特殊的函数调用,闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁

def fx(x):
x += 1
def fy(y):
return x*y
return fy

?
def func_out(times):
def func_int(num):
return times*num
return func_int

time_5=func_out(5)
print(time_5(100))

time_8=func_out(8)
print(time_8(100))
?

4.8递归和回调函数 (要有递归的终止条件)

1.递归:

函数自身调用自身,但是使用时类似于条件循环一样,要有递归的终止条件
?
def factorial(num):
if num ==1:
return num
return factorial(num-1)*num
?
print(factorial(6))

2.回调函数:

自身是一个函数,只是被传入到另一个函数当中,供其调用
?
回调函数不一定会被调用,是否调用由被传入函数的内部逻辑决定

?
def add (x,y):
return x+y
def multipy(x,y):
return x*y
def use(func,num1,num2):
return func(num1,num2)

a=10
b=20
print(use(add,a,b))
?

4.9 肥波数列

def feib(num):
a=0
b=1
while b <num:
print(b)
a,b=b,a+b
?
feib(10)


def feib(num):
if num==1 or num==2:
return 1
return feib(num-1)+feib(num-2)
?
print(feib(5))

标签:定义Def

本文共计1657个文字,预计阅读时间需要7分钟。

Python入门教程中,如何深入理解函数的4个关键点?

4.1 函数定义:函数的声明方式为 `def 函数名(参数)`: 使用 `pass` 表达式,`函数名` 命名规则:由字母、数字和下划线组成,与变量命名规则一致。`pass` 在此处表示什么都没有,不执行任何操作。`return` 用于函数结束并返回值。

4.1 函数的定义

  • 函数的定义:

    def 函数名(参数): pass return 表达式

    函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致 pass在这里表示什么都没有,不执行任何操作 return 后面可以返回任意表达式,但不能是赋值语句

  • 函数调用:

    函数名(参数)

  • return 和 print 的区别:

    Python入门教程中,如何深入理解函数的4个关键点?

    return没有写返回值的话,默认None

    return是函数的返回值,返回值可以赋值给变量,而print只是打印出来

4.2 函数参数

  • 必备参数:

    def func(x): print(x)

    func(1)

  • 默认参数:

    def func(x, y=None): print(x) print(y)

    func(1) func(1, 2)

    注意:默认参数要位于必备参数列表的后面

  • 不定长参数:

    def func(*args, **kwargs): print(args) print(kwargs)

    args: 参数包装成一个元组 kwargs: 参数包装成字典

    调用1:func(1, 2, 3, a=4, b=5, c=6)

    调用2:func(*(1, 2, 3), **{‘a‘: 4, ‘b‘: 5, ‘c‘: 6})

  • print (func()): 函数返回值

  • print (func) : 函数本身

?
def func(a,b,c):
print(a)
print(b)
print(c)
my_list=[1,5,2]
func(*my_list)
#一个 * 解包列表等 两个解字典
?
?

4.3 Python中简单内置函数

  • 内置对象查看:

    dir(builtins)

  • 常见函数:

    len 求长度 min 求最小值 max 求最大值 sorted 排序 reversed 反向 sum 求和

  • 进制转换函数:

    bin 转换为二进制 oct 转换为八进制 hex 转换为十六进制 ord 字符转ASCII码 chr ASCII码转字符

4.4 Python中高级内置函数

  • 返回一个可以枚举的对象

    enumerate

  • 取出字符串中的内容

  • 将字符串str当成有效的表达式来求指并返回计算结果

    eval

  • 执行字符串编译过的字符串 不返回结果

    exec

  • 过滤器

    filter

  • 对于参数中的每个元素都应用函数中,并将结果作为列表返回

    map()

  • 将对象逐一与()中的方法配对

    zip


my_list=[1,2,5,6,9,8,7,4,5,66,55,54,444,]
def sorted_func(data,my_order):
if my_order is True:
result=sorted(data,reverse=False)
return result
elif my_order is False:
result = sorted(data, reverse=True)
return result
else:
print(‘youwenti‘)

print(sorted_func(my_list,True))
?
######### zip
?
my_dict={‘a‘:100,‘b‘:200,‘c‘:300}
my_tuple=(400,500,‘haha‘)

def exchange_list (my_dict,my_tuple):
new_dict= dict(zip(my_dict.keys(),my_tuple))
new_tuple= tuple(my_dict.values())
return new_dict,new_tuple

new_dict,new_tuple = exchange_list (my_dict,my_tuple)
print(new_tuple)
print(new_dict)
?
############# map
?
a=[1,2,3,4]
def func (args):
return args*100
result=list(map(func,a))
print(result)
?
############ enumerate
?
a=[22,66,77,99,656]
for i in enumerate(a):
print(i)
?
################ filter

a=[1,2,3,4]
def func(args):
if args>2:
return True
else:
return False
result=list(filter(func,a))
print(result)
?

4.5 匿名函数

4.6 函数作用域

外部不能访问函数内部变量:
数内部能够访问函数外部变量
函数里面不能修改函数外部变量

  • global(全局变量): 最外层

    x = 123 def fun1(): global x x += 1 return x

  • nonlocal(局部变量): 上一层变量

    def fun2(): x = 123 def fun3(): nonlocal x x += 1 return x return fun3()

4.7嵌套函数 闭包

  • 嵌套函数

    def func_out(): def func_int(): print(‘nei ‘) return func_int result=func_out() result()

  • 闭包:

    闭包是函数里面嵌套函数,外层函数返回里层函数,这种情况称之为闭包。

    闭包是概念,不是某种函数类型,和递归的概念类似,就是种特殊的函数调用,闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁

def fx(x):
x += 1
def fy(y):
return x*y
return fy

?
def func_out(times):
def func_int(num):
return times*num
return func_int

time_5=func_out(5)
print(time_5(100))

time_8=func_out(8)
print(time_8(100))
?

4.8递归和回调函数 (要有递归的终止条件)

1.递归:

函数自身调用自身,但是使用时类似于条件循环一样,要有递归的终止条件
?
def factorial(num):
if num ==1:
return num
return factorial(num-1)*num
?
print(factorial(6))

2.回调函数:

自身是一个函数,只是被传入到另一个函数当中,供其调用
?
回调函数不一定会被调用,是否调用由被传入函数的内部逻辑决定

?
def add (x,y):
return x+y
def multipy(x,y):
return x*y
def use(func,num1,num2):
return func(num1,num2)

a=10
b=20
print(use(add,a,b))
?

4.9 肥波数列

def feib(num):
a=0
b=1
while b <num:
print(b)
a,b=b,a+b
?
feib(10)


def feib(num):
if num==1 or num==2:
return 1
return feib(num-1)+feib(num-2)
?
print(feib(5))

标签:定义Def