친구가 제가 예전에 썼던 Faker 라이브러리 관련 글에 f'{}'가 나오는 걸 보고 무슨 뜻이냐고 물었어요.
실제로 이는 f-문자열을 형식 지정 방법으로 사용합니다. 이러한 이유로 친구가 참고할 수 있도록 f-문자열과 일반적인 사용법을 간략하게 나열합니다.
현재 Python f-string은 문자열 형식 지정을 수행하는 최신 구문입니다. Python 3.6부터 사용 가능합니다.
Python f-문자열은 Python에서 문자열 형식을 지정하는 더 빠르고, 더 읽기 쉽고, 간결하고, 오류가 덜 발생하는 방법을 제공합니다. f 문자열에는 f 접두사가 붙고 값은 {} 대괄호를 사용하여 평가됩니다. 콜론 뒤에 유형, 패딩 또는 정렬에 대한 형식 지정자를 지정합니다. 예: f'{price:.3f}', 여기서 가격은 변수 이름이고 .3f는 정밀도(소수점 세 자리 유지)를 나타냅니다.
Python에는 세 가지 일반적인 형식 지정 방법이 있습니다.
1. % 기호 + 형식 지정자
2. 형식() 함수
3. 예. 결과는 모두 "[장산]은 올해 [18]세입니다."이지만 다른 형식 지정 방법이 사용됩니다.
name = "张三" age = 18 # 最原始提供的字符串替换方法,使用了 % 运算符和经典字符串格式指定,如 %s %d 等 print("【%s】今年【%d】岁" % (name, age)) # 【张三】今年【18】岁 # Python 3.0 新增了 format() 函数,可以提供高级的格式化选项 print("【{}】今年【{}】岁".format(name, age)) # 【张三】今年【18】岁 # Python 3.6 f-string出现,使得格式化方法更加灵活,字符串前缀为 f,并使用 {} 评估值 print(f"【{name}】今年【{age}】岁") # 【张三】今年【18】岁
3. f-string의 일반적인 용도 요약
1. f-string
num = 12 price = 6 # f-string 中可以接收表达式 print(f'【{num}】个苹果,每个【{price}】元,一共要花【{num * price}】元') # 【12】个苹果,每个【6】元,一共要花【72】元
user = {"name": "Ace", "job": "teacher"} print(f'【{user["name"]}】的工作是【{user["job"]}】') # 【Ace】的工作是【teacher】
name = "李四" age = 28 job = "码农" msg = ( f'Name: {name}\n' f'Age: {age}\n' f'Job: {job}' ) # 注意 msg 使用了 () 进行包裹 print(msg) # Name: 李四 # Age: 28 # Job: 码农
def my_max(x, y): """ 三目运算比较两个数字大小 :param x: int x :param y: int y :return: x 和 y 中较大的数字 """ return x if x > y else y a = 3 b = 4 print(f'【{a}】和【{b}】中较大的是【{my_max(a, b)}】') # 【3】和【4】中较大的是【4】
print(f"Python 使用 {{}} 来计算f-string中的变量") # Python 使用 {} 来计算f-string中的变量 print(f'你真的很\'厉害\'') # 注意:单引号中想继续使用单引号,那就需要进行转义 # 你真的很'厉害'
val = 11 # 通过 : 后跟 浮点数标识 ,可以实现格式化浮点数 print(f'{val:.3f}') # 11.000 print(f'{val:.4f}') # 11.0000
for i in range(1, 11): print(f'{i:02} {i * i:3} {i * i * i:4}') # 01 1 1 # 02 4 8 # 03 9 27 # 04 16 64 # 05 25 125 # 06 36 216 # 07 49 343 # 08 64 512 # 09 81 729 # 10 100 1000
참고: Python 3.6 이상에서만 지원됩니다!
위 내용은 Python의 f 문자열 소개 및 일반적인 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!