【Python基础语法06】函数

前言

上一讲分享了条件循环语句,本讲将分享更大一级的函数 function。python 自带很多的内置函数,无疑提高了代码的可复用性,趋于模块化。采用 Q & A 的形式讲述并采用脑图形式总结。

Q1: 什么是函数

类比于数学函数,如 sin(x) 代表直角边/斜边。python 的函数由 def 关键字,函数名,参数列表,函数体组成。

def f1(x):
    x += 1
    return x
f1(5)
# 输出
6

Q2: 参数如何设置

参数可分为默认参数,可变参数,不定长参数。

  • 默认参数是指声明函数时就设置了默认值。
def f1(x = 2):
    x += 1
    return x
f1()
# 输出
3
  • 可变参数即声明函数时未设置默认值
  • 不定长参数是指调用函数时,参数个数可变。声明函数时有规则:带 * 号以 tuple 导入,带 ** 号以 dict 导入
def f1(x, *arg):
    for a in arg:
        x += a
    return x
f1(2,3,4)
# 输出
9
def f1(x, **arg):
    for a in arg:
        x += arg[a]
    return x
f1(2,a=3,b=4)
# 输出
9

Q3: 变量如何设置

变量可分为局部变量、全局变量。两者的作用域不一样。

  • 局部变量是指函数内部定义的变量,作用域就在函数内;当然可以用global 关键字转为全局变量
def f1(x):
    x = 'boss'
    print('函数内局部变量:',x)
a = input('请输入一个整数:')
f1(a)
print('函数外全局变量:',a)
# 输出
请输入一个整数:1
函数内局部变量: boss
函数外全局变量: 1
def f1():
    global x
    x = 'boss'
    print('函数内转为全局变量:',x)
f1()
print('函数外全局变量:',x)
# 输出
函数内转为全局变量: boss
函数外全局变量: boss
  • 全局变量是指作用域在全局的变量,在函数外部访问

Q4: return 关键字可有可无

return 表示退出函数,并返回一个表达式;如果没有 return ,则返回 None。

def f1():
    global x
    x = 'boss'
print(f1())
# 输出
None

补充说明

函数名不想命名,那就试试匿名函数 lambda 吧。一行表达式搞定,但逻辑有限。参数与函数体之间用冒号隔开。

f = lambda m : len(m)
f([2,4,3,1])
# 输出
4
f = lambda a,b,c : a + b + c
f(1,2,3)
# 输出
6

脑图总结

在这里插入图片描述

发布了34 篇原创文章 · 获赞 19 · 访问量 2228

猜你喜欢

转载自blog.csdn.net/chiyukunpeng/article/details/105244509