Python中print(f‘***‘)中f是什么意思

文章目录

  • Python3.6新增了一种f-字符串格式化
    • asyncio异步相关知识点
    • `__name__ == '__main__'`

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()

Python中print(f‘***‘)中f是什么意思_第1张图片

运行结果

Python中print(f‘***‘)中f是什么意思_第2张图片

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()

Python中print(f‘***‘)中f是什么意思_第3张图片

运行结果

Python中print(f‘***‘)中f是什么意思_第4张图片

你可能感兴趣的:(Python,python)