成为大佬第十六天(函数进阶)

📅 2026/8/1 6:14:10 👁️ 阅读次数 📝 编程学习
成为大佬第十六天(函数进阶)

1.函数的注释

基本语法:

def 函数名(参数名: 类型) -> 返回值类型: pass

类型错误,不会报错,会继续输出,但会警告

def f1(a :int)->int: return a print(f1("t"))

参数名:类型 | 类型 “|” 表示 或

def f1(a:int,b:float|int) -> int|float: print(a,b) return a + b f1(3,5.5)

不同数据结构参数类型表达不同

def f2(data:list[str|int],obj:dict[str,int],n : int = 5): print(data, obj,n) f2([3,6,"a"],{"id" : 101},7)

2.异步函数

异步函数是用于并发执行 I/O 密集型任务,提高程序效率。

例:代码运行会永远执行函数wake_up;因此为了并发执行,提高程序速率,我们使用异步函数

import time def wake_up(): while True: print(f"醒醒啦") time.sleep(1) def go_sleep(): while True: print(f"去睡觉") time.sleep(1) def main(): wake_up() go_sleep() main()
async def 函数名() 异步 await(等待) asyncio.sleep(1) 等待一秒执行 asyncio.run()通过asyncio来启动协程

三个都是必不可少!

import asyncio async def wake_up(): while True: print(f"醒醒啦") await asyncio.sleep(1) async def go_sleep(): while True: print(f"去睡觉") await asyncio.sleep(1) async def go_to_school(): while True: print(f"去上学") await asyncio.sleep(1) async def main(): c1 = wake_up() c2 = go_sleep() c3 = go_to_school() await asyncio.gather(c1, c2, c3) asyncio.run(main())

3.面向对象

面向函数编程是一种以函数为核心的编程范式,即函数可以像变量一样被传递、赋值和返回。

类是面向对象编程(OOP)的核心概念,可以理解为创建对象的蓝图或模板

class Person: """人类""" pass # 创建实例(对象) p1 = Person() print(p1,type(p1)) # <class '__main__.Person'>

4.初始化函数

类的核心组成部分:

__init__()— 构造函数

在创建对象时自动调用,用于初始化对象属性

self— 指向当前实例

self表示当前对象自身,所有实例方法都必须有self参数。

基本语法:

class 类名: # 初始化方法(构造函数) def __init__(self, 参数1, 参数2): """初始化实例""" self.属性1 = 参数1 # 实例属性 self.属性2 = 参数2 # 实例方法 def 方法名(self): """实例方法""" return self.属性1

例:

class Person: def __init__(self, name, age): # 给self实例添加数据name self.name = name self.age = age def get_name(self): return self.name def set_name(self, name): self.name = name def get_age(self): return self.age def set_age(self, age): self.age = age # 类内的self 完全等同于类外的实例名 # 执行类 就是执行类的初始化函数 p1 = Person("li", 25) print(p1.name, p1.age) p1.set_name("ti") print(p1.name, p1.get_name()) p1.set_age(250) print(p1.get_age())