Python中print(f'***')中f是什么意思
Python3.6新增了一种f-字符串格式化
格式化的字符串文字前缀为’f’和str.format()相似。它们包含由花括号包围的替换区域。替换字段是表达式或变量,在运行时进行评估,然后使用format()协议进行格式化。以 f 开头,包含的{}表达式在程序运行时会被表达式的值代替。
import asyncio
# Python 3.5开始引入了新的语法async和await
# 把@asyncio.coroutine替换为async
async def countdown(name,num):
while num > 0:
print(f'countdown[{name}]:{num}')
await asyncio.sleep(1) # 异步调用asyncio.sleep(1):
num -= 1
# 把yield from替换为await
def main():
loop = asyncio.get_event_loop() # 获取EventLoop
tasks =[countdown("O", 3), countdown("N", 5)]
loop.run_until_complete(asyncio.wait(tasks)) # 执行coroutine
loop.close
if __name__ == '__main__':
main()
运行结果
print(f'{name}')
其中 { } 相当于占位符,程序运行时花括号部分会变成相应的变量值,如果print('{name}')
中 f 被去掉,就是普通的打印功能,原封不动地打印字符串 {name}
asyncio异步相关知识点
Python 3.5开始引入了新的语法async和await
- 把@asyncio.coroutine替换为async
- 把yield from替换为await
__name__ == '__main__'
__name__ == '__main__'
用双下划线开头且结尾的变量,在 Python 中被称为内置变量
dir(__builtins__)
可查看 Python 全部内置变量和内置函数
__name__
是当前模块名,当模块被直接运行时模块名为__main__
。意思是,当模块被直接运行时,下面的代码块将被运行,当模块是被导入时,代码块不被运行
Python3.4以及早期版本,需要用早期的写法
import asyncio
@asyncio.coroutine
def countdown(name, num):
while num > 0:
print(f'countdown[{name}]:{num}')
yield from asyncio.sleep(1)
num -= 1
def main():
loop = asyncio.get_event_loop()
tasks =[countdown("A", 3), countdown("B", 5)]
loop.run_until_complete(asyncio.wait(tasks))
loop.close
if __name__ == '__main__':
main()
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本