鱼C论坛

 找回密码
 立即注册
查看: 11701|回复: 29

[知识点备忘] 第032讲:字符串(VI)

[复制链接]
发表于 2021-2-18 22:45:18 | 显示全部楼层 |阅读模式
购买主题 已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-5 15:51:54 | 显示全部楼层
这节课继续讲解格式化字符串,讲解了其中的符号选项、千位分隔符、精度选项、类型选项和井号选项,并分别举例说明。各个选项之间可以混合使用,方便灵活!视频还讲解了“f-字符串”,这是在Python3.6版本新添加的语法,只需在普通字符串前加上f-/F-作为前缀即可使用,是format()方法的一个语法糖,简化了格式化字符串的操作,不仅更方便程序员使用,还带来了性能上的略微提升,真是一举两得啊!只不过由于f-字符串只适用于Python3.6以上的版本,故format()方法的兼容性往往更好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-5-21 15:10:18 | 显示全部楼层
>>> "{:+}{:-0}".format(520,-250)
'+520-250'
>>> "{:+}{:-}".format(520,-250)
'+520-250'
>>> "{:+} {:-}".format(520,-250)
'+520 -250'
>>> "{:,}".format(1234)
'1,234'
>>> "{:,123}"
'{:,123}'
>>> "{:,}".format(123)
'123'
>>> "{:_}".format(1234)
'1_234'
>>> "{:,}".format(123456789)
'123,456,789'
>>> "{:.2f}".format(3.1415)
'3.14'
>>> "{:.2g}".format(3.1415)
'3.1'
>>> {:.2g}.format(3.1415)
SyntaxError: invalid syntax
>>> "{:.6}".format("I love FishC")
'I love'
>>> "{:.2}".format(520)
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    "{:.2}".format(520)
ValueError: Precision not allowed in integer format specifier
>>> "{:b}".format(80)
'1010000'
>>> "{:c}".format(80)
'P'
>>> "{:d}".format(80)
'80'
>>> "{:o}".format(80)
'120'
>>> "{:x}".format(80)
'50'
>>> "{:#b}".format(80)
'0b1010000'
>>> "{:#o}".format(80)
'0o120'
>>> "{:#x}".format(80)
'0x50'
>>> "{:e}".format(3.1415)
'3.141500e+00'
>>> "{:E}".format(3.1415)
'3.141500E+00'
>>> "{:f}".format(3.1415)
'3.141500'
>>> "{:g}".format(123456789)
'1.23457e+08'
>>> "{:g}".format(1234.56789)
'1234.57'
>>> "{:%}".format(0.98)
'98.000000%'
>>> "{:.2%}".format(0.98)
'98.00%'
>>> "{:.{prec}f}".format(3.1415,prec=2)
'3.14'
>>> "{:{fill}{align}{width}.{prec}{ty}}".format(3.1415,fill='+',align='^',width=10,prec=3,ty='g')
'+++3.14+++'
>>> year = 2010
>>> "鱼C工作室成立于 {} 年".format(year)
'鱼C工作室成立于 2010 年'
>>> "鱼C工作室成立于 {year} 年"
'鱼C工作室成立于 {year} 年'
>>> "鱼C工作室成立于 {2010} 年"
'鱼C工作室成立于 {2010} 年'
>>> F"鱼C工作室成立于 {year} 年"
'鱼C工作室成立于 2010 年'
>>> F"1+2={1+2},2的平方是{2*2}"
'1+2=3,2的平方是4'
>>> F"{-520:010}"
'-000000520'
>>> f"{123456789:,}"
'123,456,789'
>>> f"{3.1415:.2f}"
'3.14'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 4 反对 0

使用道具 举报

发表于 2021-5-29 21:09:50 | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-29 19:24:33 | 显示全部楼层
>>> "{:+}{:-}".format(520,-520)
'+520-520'
>>> "{:,}".format(12345)
'12,345'
>>> "{:_}".format(12345)
'12_345'
>>> "{:.2f}".format(3.1415)
'3.14'
>>> "{:.2g}".format(3.1415)
'3.1'
>>> "{:.6}".format("I Love fishc")
'I Love'
>>> "{:.2}".format(520)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    "{:.2}".format(520)
ValueError: Precision not allowed in integer format specifier
>>> "{:.b}".format(80)
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    "{:.b}".format(80)
ValueError: Format specifier missing precision
>>> "{:b}".format(80)
'1010000'
>>> "{:c}".format(80)
'P'
>>> "{:d}".format(80)
'80'
>>> "{:o}".format(80)
'120'
>>> "{:x}".format(80)
'50'
>>> "{:#b}".format(80)
'0b1010000'
>>> "{:#o}".format(80)
'0o120'
>>> "{:#x}".format(80)
'0x50'
>>> "{:e}".format(3.1415)
'3.141500e+00'
>>> "{:E}".format(3.1415)
'3.141500E+00'
>>> "{:f}".format(3.1415)
'3.141500'
>>> "{:g}".format(123456789)
'1.23457e+08'
>>> "{:g}".format(1234.56789)
'1234.57'
>>> "{:%}".format(0.98)
'98.000000%'
>>> "{:.2%}".format(0.98)
'98.00%'
>>> "{:.{prec}f}".format(3.1415,prec=2)
'3.14'
>>> "{:{fill}{align}{width}.{prec}{ty}}".format(3.1415,fill="+",align="^",width=10,prec=3,ty="g")
'+++3.14+++'
>>> "{:{fill}{align}{width}.{prec}{ty}}".format(3.1415,fill="+",align="^",width=10,prec=4,ty="g")
'++3.142+++'
>>> "鱼C工作室成立于 {} 年".format(2010)
'鱼C工作室成立于 2010 年'
>>> year = 2010
>>> "鱼C工作室成立于 {} 年".format(year)
'鱼C工作室成立于 2010 年'
>>> "鱼C工作室成立于 {year} 年".format(year = 2010)
'鱼C工作室成立于 2010 年'
>>> F"鱼C工作室成立于 {year} 年"
'鱼C工作室成立于 2010 年'
>>> "1+2={},2的平方是{},3的立方是{}".format(1+2,2*2,3**3)
'1+2=3,2的平方是4,3的立方是27'
>>> F"1+2={1+2},2的平方是{2*2},3的立方是{3**3}"
'1+2=3,2的平方是4,3的立方是27'
>>> f"1+2={1+2},2的平方是{2*2},3的立方是{3**3}"
'1+2=3,2的平方是4,3的立方是27'
>>> "{:010}".format(-520)
'-000000520'
>>> f"{-520:010}"
'-000000520'
>>> "{:,}".format(123456789)
'123,456,789'
>>> f"{123456789:,}"
'123,456,789'
>>> "{:2f}".format(3.1415)
'3.141500'
>>> f"{3.1415:2f}"
'3.141500'
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-2-25 20:50:57 | 显示全部楼层
求更~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-27 11:21:20 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 18:14:04 | 显示全部楼层
有没有很崩溃的感觉啊小伙伴们
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-3 14:42:30 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-6 16:48:24 | 显示全部楼层
'{:+}{:-}'.format(1,-3)
'+1-3'
'{:+}{:-}'.format(1,3)
'+13'
'{:+}{:-}'.format(-1,3)
'-13'
'{:+}{:-}'.format(-1,-3)
'-1-3'
'{:}{: }'.format(-1,-3)
'-1-3'
'{: }{: }'.format(1,3)
' 1 3'
'{:,}'.format(1233)
'1,233'
'{:_}'.format(1233)
'1_233'
'{:_}'.format(1233888)
'1_233_888'
{:.3f}.format(4.234667)
SyntaxError: invalid decimal literal
'{:.3f}'.format(4.234667)
'4.235'
'{:.3g}'.format(4.234667)
'4.23'
'{:.6}'.format('ctxnjzhp')
'ctxnjz'
'{:.5}'.format(5499)
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    '{:.5}'.format(5499)
ValueError: Precision not allowed in integer format specifier
'{:b}'.format(80)
'1010000'
'{:c}'.format(80)
'P'
'{:d}'.format(80)
'80'
'{:o}'.format(80)
'120'
'{:x}'.format(80)
'50'
'{:#b}'.format(80)
'0b1010000'
'{:#o}'.format(80)
'0o120'
'{:#x}'.format(80)
'0x50'
'{:e}'.format(2.1421)
'2.142100e+00'
'{:E}'.format(2.1421)
'2.142100E+00'
'{:f}'.format(2.1421)
'2.142100'
'{:g}'.format(2.1421)
'2.1421'
'{:g}'.format(123456789)
'1.23457e+08'
'{:g}'.format(12.3456789)
'12.3457'
'{:%}'.format(12.34)
'1234.000000%'
'{:.2%}'.format(12.34)
'1234.00%'
'{:.(qq)f}'.format(1.456,qq=3)
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    '{:.(qq)f}'.format(1.456,qq=3)
ValueError: Format specifier missing precision
'{:.(qqw)f}'.format(1.456,qq=3)
Traceback (most recent call last):
  File "<pyshell#31>", line 1, in <module>
    '{:.(qqw)f}'.format(1.456,qq=3)
ValueError: Format specifier missing precision
'{:.(qqw)f}'.format(1.456,qqw=3)
Traceback (most recent call last):
  File "<pyshell#32>", line 1, in <module>
    '{:.(qqw)f}'.format(1.456,qqw=3)
ValueError: Format specifier missing precision
'{:.(qqw)f}'.format(1.4564,qqw=3)
Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    '{:.(qqw)f}'.format(1.4564,qqw=3)
ValueError: Format specifier missing precision
'{:.(prec)f}'.format(1.4564,prec=2)
Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    '{:.(prec)f}'.format(1.4564,prec=2)
ValueError: Format specifier missing precision
'{:.{qq}f}'.format(1.456,qq=3)
'1.456'
'{:.{qq}f}'.format(1.456,qq=2)
'1.46'
"{:{fill}{align}{width}.{prec}{ty}}".format(3.1415, fill='+', align='^', width=10, prec=3, ty='g')
'+++3.14+++'
year=1999
f 'ctx出生于{year}nian'
SyntaxError: invalid syntax
f'ctx出生于{year}nian'
'ctx出生于1999nian'
f'4+8={4+8},2dfp={2*2},3dlf={3*3*3}
SyntaxError: unterminated string literal (detected at line 1)
f'4+8={4+8},2dfp={2*2},3dlf={3*3*3}'
'4+8=12,2dfp=4,3dlf=27'
f'{-322,012}'
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
f'{-320,012}'
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
f'{-320:012}'
SyntaxError: invalid decimal literal
f'{-320:012}'
'-00000000320'
'{:,}'format(123456789)
SyntaxError: invalid syntax
'{:,}'.format(123456789)
'123,456,789'
f'{123456789:_}'
'123_456_789'
'{:.{qq}f}'.format(1.456,qq=2)
'1.46'
f'{1.456:{qq}f}'
Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    f'{1.456:{qq}f}'
NameError: name 'qq' is not defined
f'{1.456:.2f}'
'1.46'
'{:.3f}'.format(1.4224)
'1.422'
f'{1.4224:.3f}'
'1.422'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-21 10:02:05 | 显示全部楼层
卡打
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-24 16:14:38 | 显示全部楼层
卡打
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-25 15:35:36 | 显示全部楼层
越来越难
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-4 20:41:02 | 显示全部楼层
滴滴滴~打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-3 15:27:16 | 显示全部楼层
Come on!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-22 14:38:26 | 显示全部楼层
这种代码对人类来讲还是为时过早了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 15:38:57 | 显示全部楼层
打卡学习

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-15 23:26:31 | 显示全部楼层



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-22 21:29:40 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-11 19:41:47 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表