python基础(第四期):python 函数 学习一篇就够 TAM功能实现

编程入门 行业动态 更新时间:2024-10-27 15:26:52

python基础(第四期):python <a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数 学习一篇就够 TAM功能实现"/>

python基础(第四期):python 函数 学习一篇就够 TAM功能实现

文章目录

  • python基础(第四期)
    • 一、函数
          • 1.1 体验函数
          • 1.2 简单 函数定义格式
          • 1.3 函数传参
          • 1.4 None语句
          • 1.5 函数说明文档
          • 1.6 函数的嵌套调用
          • 1.7 变量的作用域
          • 1.8 global关键字(变量提升)
          • 1.9 函数综合练习:

python基础(第四期)

一、函数

函数:是组织好的,可以重复使用的,用来实现特定功能的代码段。

1.1 体验函数

需求,不使用内置函数 len() 实现统计字符串的长度。

普通的方法

str1 = "hello world"
str2 = "hello world"
str3 = "hello world"count = 0
for i in str1:count += 1
print(f"字符串{str1}的长度为: {count}")'''运行结果为:字符串hello world的长度为: 11
'''str2 = "hello world"count = 0
for i in str2:count += 1
print(f"字符串{str2}的长度为: {count}")'''运行结果为:字符串hello world的长度为: 11
'''str3 = "hello world"count = 0
for i in str3:count += 1
print(f"字符串{str3}的长度为: {count}")'''运行结果为:字符串hello world的长度为: 11
'''

上面的代码 实在是过于重复了,此时就得使用我们的函数来完成。

使用函数后的代码

str1 = "hello world"
str2 = "hello world"
str3 = "hello world"
# 自定义求字符串长度的函数def my_len(data):count = 0for i in data:count += 1print(f"字符串{data}的长度是{count}")# 调用函数my_len(str1)
my_len(str2)
my_len(str3)

mu_len()这个函数,使我们自己定义的,只能用于计算字符串长度。

1.2 简单 函数定义格式
def say_hi():print("hello world")say_hi()
  • 函数一定需要先定义,在使用!(参数不用也可以不写)

  • 返回值不需要也可以省略。

def hell():print("hello world")print("hello python")hell()
1.3 函数传参

*函数的参数:
* 传入参数的功能:在函数中进行计算的时候,接收外部(调用者)提供的数据

# 下面这个函数只能 1 + 2,想解决这个问题,只能使用参数传递了。
def add():result = 1 + 2print(f"1 + 2的结果是:{result}")add()
  • 传参的写法
def add(x, y):result = x + yprint(f"{x} + {y} 的结果为:{result}")add(1, 2)  # 传递什么参数,就怎么计算结果(灵活)

注意事项:
1、函数参数之间使用分号进行分割
2、传参的时候,按照顺序传入数据,使用逗号分隔(多可以,少不行,多了的就不用)

​ 3、 函数参数可以没有,也可以有nge

  • 实参:调用时传入的实际参数
  • 形参:函数执行时接受的形式参数
  • 函数传参练习
def demo(time, c):print(f"时间证明:{time}, 体温为{c}")if c > 38:print("禁止进入")else:print("允许进入")demo(72, 37.5)

1.4 函数的返回值(return)

  • 函数:返回值
    简单理解就是说;我给你东西(实参),得有回报吧(函数处理完的返回值)

定义格式

def 函数名(参数, .....):函数体return 返回值变量 = 函数名(参数, .....)
  • 函数中遇到 return,直接结束函数。后面不要写代码哦!
def add(a,b):result = a + breturn result  # 将结果返回给函数调用者(他叫我帮他算数,等于多少我得告诉他啊!)add(500, 20)
print(add)
  • 将结果返回给函数调用者(他叫我帮他算数,等于多少我得告诉他啊!)
1.4 None语句

None语句和 void一样(表示空的)

  • 他是一个特殊的字面量,用于表示空、无意义的。应用场景如下所示:

1、 用在if判断:

  • 在if判断的时候,None等同于 false
  • 一般用在函数中主动返回None,配合if语句做相关处理(return None),调用者收到None,就知道是假的。

2、用于声明无内容的变量上

  • 定义变量,但暂时不需要具体的值,可使用None代替

代码示例

返回值 None示例

def fi(age):if age >= 18:print(f"成年!适当娱乐")return ageelse:return Noneresult = fi(17)
# 返回值为None(false)就执行
if not result:print(f"未成年!不能沉迷游戏")

变量初始化为空:

num = None
1.5 函数说明文档

说明函数功能

  • 鼠标悬停函数,就会出现函数说明的文档哦!(注意:格式即可)
"""函数说明文档
"""# 通过多行注释,为函数进行说明def add(x, y):"""add函数实现两数相加的功能,接受两个实参,具有返回值。:param x:表示其中一个形参:param y:表示其中一个形参:return: 返回两数(两个形参)相加的结果"""result = x + yprint(f"2数相加的结果为{result}")return resultadd(1300, 14)
  • 写在三个引号里面的都属于函数的说明文档。(多写写养成习惯就好了)
1.6 函数的嵌套调用

再函数里面嵌套定义或调用函数

def function1():print("--------------1-------")def function2():print("--------------2-------")function1()print("--------------3-------")function2()

执行流程:
1、先执行函数调用者,function2
2、打印2
3、执行function1
4、打印1
5、最后打印3

  • 特别注意,函数调用一定要等到函数执行完毕后,才会执行后面的语句。
1.7 变量的作用域

在Python中,变量的作用域指的是变量可被访问的范围。Python中有四种变量作用域:全局作用域、局部作用域(函数作用域)、嵌套作用域和内置作用域。

  1. 全局作用域(Global scope):在模块级别定义的变量具有全局作用域,可以在整个程序中的任何地方访问。全局变量可以在函数内部进行读取,但在函数内部无法直接修改其值,除非使用global关键字声明为全局变量。
  • 定义在函数的外面(实现函数的全局作用域)
python复制代码global_var = 10  # 全局变量def func():print(global_var)  # 读取全局变量的值func()
  1. 局部作用域(函数作用域):在函数内部定义的变量具有局部作用域,只能在函数内部访问。局部变量在函数执行完毕后会被销毁。
python复制代码def func():local_var = 20  # 局部变量print(local_var)  # 在函数内部访问局部变量func()
  1. 嵌套作用域(Enclosing scope):当一个函数内部定义了另一个函数时,内部函数可以访问外部函数的变量,但外部函数不能访问内部函数的变量。
python复制代码def outer_func():outer_var = 30  # 外部函数的变量def inner_func():print(outer_var)  # 在内部函数访问外部函数的变量inner_func()outer_func()
  1. 内置作用域(Built-in scope):Python中有一些内置的函数和变量,如print()len()等,它们具有内置作用域,可以在程序的任何地方直接访问。

需要注意的是,在嵌套作用域中,变量的查找顺序是从内到外,即先在局部作用域中查找变量,如果找不到再在上一级的嵌套作用域中查找。而在全局作用域中无法访问局部作用域和嵌套作用域中的变量。

1.8 global关键字(变量提升)
x = 100def num():x = 200print(x) # x = 200num()
print(x) # x = 100

函数外部访问到的x是全局的,内部虽然修改了,但是局部,外部访问不到。

使用global后:

x = 100# 使用global ,让函数内部的局部变量提升
def num():global xx = 200print(x) # x = 200num()
print(x) # x = 200
  • global提升变量作用域所以,最后面访问x的时候,访问就是函数内部的
1.9 函数综合练习:
def main():print("-" * 20 + "主菜单" + "-" * 20)print("liujintao,你好,欢迎您来到Python ATM, 请选择操作:")print("查询余额[输入1]")print("存款   [输入2]")print("取款   [输入3]")print("退出   [输入4]")sum = 0
# 余额模块def querybalance (balance):print("-" * 20 + "查询余额" + "-" * 20)global sumsum += balanceprint(f"liujintao,您好,您的余额为:{ sum }")return sum
# 存款模块def fetch(cun):print("-" * 20 + "存款" + "-" * 20)# 存款print(f"liujintao, 您好,您存款{cun}元成功!")# 余额querybalance(cun)# 取款模块def withdrawal(qumoney):# 取款print(f"liujintao, 您好,您取款{qumoney}元成功!")# 余额querybalance(-qumoney)flag = Truewhile flag:main()num = int(input(("请输入您的选项:")))if num == 1:querybalance(sum)elif num == 2:money = int(input(("请输入您需要存款的金额:")))fetch(money)elif num == 3:qumoney = int(input("请输入您的取款金额:"))withdrawal(qumoney)elif num == 4:print("退卡成功!")flag = Falseelse:print("输入有误,重新输入!")

更多推荐

python基础(第四期):python 函数 学习一篇就够 TAM功能实现

本文发布于:2023-11-16 22:35:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1634965.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   第四期   功能   基础   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!