migu_sm1 发表于 2022-11-3 12:36:08

墨墨在努力吖 发表于 2022-10-4 14:59
>>> "我叫{name},我爱{1}。".format(name="墨墨","中国")
SyntaxError: positional argument follows key ...

应该是的。试过,跟你的测试一样。

独酌dz 发表于 2022-11-20 16:54:10

1

独酌dz 发表于 2022-11-20 17:12:53

1

jgz1818 发表于 2022-11-22 23:15:48

"{0}看见{1}就激动!".format("小甲鱼","猛男")
"{}看见{}就激动!就很往上凑".format("小甲鱼","猛男")
{:10_256:}{:10_256:}{:10_256:}{:10_256:}

jgz1818 发表于 2022-11-22 23:18:09

墨墨在努力吖 发表于 2022-10-4 14:59
>>> "我叫{name},我爱{1}。".format(name="墨墨","中国")
SyntaxError: positional argument follows key ...

要注意的是,如果将位置参数和关键字参数综合在一起使用,那
么位置参数必须在关键字参数之前,否则就会出错

书上原文

jgz1818 发表于 2022-11-22 23:19:20

ctx111 发表于 2022-8-6 11:46
year=1999
'ctx出生于year年'
'ctx出生于year年'


你这个我看得头晕

墨墨在努力吖 发表于 2022-11-23 13:50:15

jgz1818 发表于 2022-11-22 23:18
要注意的是,如果将位置参数和关键字参数综合在一起使用,那
么位置参数必须在关键字参数之前,否则就会 ...

好的谢谢你

xxxx.xxxx 发表于 2022-12-3 11:48:04

打卡学习

andyleesh 发表于 2022-12-22 21:01:12

year = 2010
"鱼C工作室成立于 year 年"
'鱼C工作室成立于 year 年'
"鱼C工作室成立于 {} 年".format(year)
'鱼C工作室成立于 2010 年'
'
'
SyntaxError: unterminated string literal (detected at line 1)
"1+2={},2的立方是{},3的立方是{}".format(1+2,2*2,3*3*3)
'1+2=3,2的立方是4,3的立方是27'
"小甲鱼{}就{}".format(看到小姐姐,激动)
SyntaxError: invalid character ',' (U+FF0C)
"小甲鱼{}就{}".format("看到小姐姐","激动")
'小甲鱼看到小姐姐就激动'
"小甲鱼{1}就{0}".format("看到小姐姐","激动")
'小甲鱼激动就看到小姐姐'
{0}{0}{1}{1}.format("是","非")
SyntaxError: invalid syntax
"{0}{0}{1}{1}".format("是","非")
'是是非非'
"我叫{name},我爱{fav}".format(name = "小甲鱼",fav = "python")
'我叫小甲鱼,我爱python'

瑾年2001 发表于 2023-1-5 12:35:06

print ("{:010}". format("FishC"))
为啥没有报错,输出的反而是'FishC00000'

xiaoxiangx 发表于 2023-1-11 15:59:16

打卡

cold758 发表于 2023-1-15 21:16:11

芜湖

Wynn_0303 发表于 2023-1-28 22:10:58

打卡

SYF12 发表于 2023-2-16 22:46:08


**字符串5**

格式化字符串

format(*args, **kwargs):返回一个格式化的新字符串;使用位置参数(args)和关键字参数(kwargs)进行替换

>>> year = 2010
>>> "鱼C工作室成立于 year 年"
'鱼C工作室成立于 year 年'
>>> "鱼C工作室成立于 {} 年".format(year)
'鱼C工作室成立于 2010 年'

格式化字符串的套路就是使用一对花括号来表示替换字段

>>> "1+2={},2的平方是{},3的立方是{}".format(1+2, 2*2, 3*3*3)
'1+2=3,2的平方是4,3的立方是27'

在花括号里面,我们还可以写上数字,表示参数的位置

>>> "{}看到{}就很激动!".format("小甲鱼", "漂亮的小姐姐")
'小甲鱼看到漂亮的小姐姐就很激动!'
>>> "{1}看到{0}就很激动!".format("小甲鱼", "漂亮的小姐姐")
'漂亮的小姐姐看到小甲鱼就很激动!'
[参数中的字符串将会被当做元组的元素来对待]

同一个索引值是可以被引用多次的

>>> "{0}{0}{1}{1}".format("是", "非")
'是是非非'

我们还可以通过关键字进行索引

>>> "我叫{name},我爱{fav}。".format(name="小甲鱼", fav="Python")
'我叫小甲鱼,我爱Python。'
[用关键字参数时就不用管顺序了]

位置索引和关键字索引也可以组合在一起使用

>>> "我叫{name},我爱{0}。喜爱{0}的人,运气都不会太差。".format("Pyhon", name="小甲鱼")
'我叫小甲鱼,我爱Pyhon。喜爱Pyhon的人,运气都不会太差。'

单纯输出一对纯洁的花括号,有两种方法:
1.在参数里边直接写上花括号

>>> "{}, {}, {}".format(1, "{}", 2)
'1, {}, 2'

2.使用花括号来注释花括号

>>> "{}, {{}}, {}".format(1, 2)
'1, {}, 2'

**格式化语法**

format_spec     ::=  [align][#][.precision]

【align】指定的是对齐的方式:
'<':强制字符串在可用空间内左对齐(默认)
'>':强制字符串在可用空间内右对齐
'=':强制将填充放置在符号(如果有)之后但在数字之前的位置(这适用于以 “+000000120” 的形式打印字符串)
'^':强制字符串在可用空间内居中

>>> "{:^}".format(250)
'250'

要实现对齐,需要更大的空间,用【width】选项可以来指定更大的宽度
      
>>> "{:^10}".format(250)
'   250    '
>>> "{1:>10}{0:<10}".format(520, 250)
'       250520       '
>>> "{left:>10}{right:<10}".format(right=520, left=250)
'       250520       '
[使用关键字参数也没有问题]

如果在指定宽度的前面添加一个 '0',则表示为数字类型(其它类型无效)启用感知正负号的 '0' 填充效果。

>>> "{:010}".format(520)
'0000000520'
>>> "{:010}".format(-520)
'-000000520'
>>> "{:010}".format("FishC")
报错
[这一招只对数字有效]
      
我们还可以在对其选项的前面通过填充选项来指定填充的字符

>>> "{1:%>10}{0:%<10}".format(520, 250)
'%%%%%%%250520%%%%%%%'
>>> "{:0=10}".format(520)
'0000000520'
>>> "{:0=10}".format(-520)
'-000000520'
[前面填充0的例子也可以这么写]

littlewhale 发表于 2023-3-8 15:59:21

打卡~~

Z153 发表于 2023-4-5 16:51:51

打卡

来自成都的momo 发表于 2023-4-10 10:23:26

边哭边学

justsingmysong 发表于 2023-6-9 23:14:33

1024
页: 1 [2]
查看完整版本: 第031讲:字符串(V)