String字符串可以用int函数来转换为整数字符串,括号内的意思是,这个字符串(也就是引号包裹起来的)必须是整数数字才行,是分数/小数、文字或代数式是不行的。在office里,*可以代表一个或多个字符,?可以代表单个字符。比如在员工中找一个叫做张华,忘了叫张x,可以搜张?,显示的就是张姓,只有一个名的员工,包括张华、张三、张杰等。如果输入,张*,那么,张翼德、张艺谋、张艺兴等一并搜出来了。如果要查找“*”号或“?”怎么办?肯定不能直接输入星号或问好。而是要在前面加一个~,把通配符转换为真正的普通符号,如 ~* 查找真正的星号,~? 查找真正的问号。s[beg:end],也就提取某个字符串其中一段.类似excel中的mid函数。因为在python中第一位的序列号是0,而不是1;这里的end,不是整个字符串的最后一位,而是你想要提取的截止位数。因为第一位是0,如果是提取[1,5],一共是是4个字符,是“欢迎学习”四个字符,不包括第五位。也可以精确提取某一个位置的字符,函数表达式s[下标],比如s[2]=学;需要注意,python的索引值从0开始,因此,2是索引值,不是自然顺序的的第二个。发现字符串不仅能切,还能像搭积木一样拼起来。
原来我以为加号 + 只能用来算术,结果在 Python 里,它竟然能把两段话粘在一起。教材里管这个叫“连接”。我试了一下。
a = "我爱"
b = "Python"
print(a + b)
结果输出:我爱Python
这感觉真的太像用胶水接绳子了,简单粗暴。
更神奇的是,字符串竟然还能用乘号 *。
我以前想画个分割线,得一直按着减号键不撒手,现在倒好,直接 print("-" * 20),它就乖乖地给我排了一整行 20 个短横线。
这种复读机功能真的深得我心,以后写那种装饰性的界面肯定能省不少事。
不过也特别提醒了,这个 + 只能同类型,不能是香蕉+苹果。
我刚才突发奇想,想把名字和我的年龄拼在一起:"欧阳" + 18,结果程序直接给我“甩脸色”报错了(TypeError)。
看来 Python 这里的逻辑非常死板:字符串只能加字符串。如果想把数字 18 拼进去,还得先用那个 str() 函数把 18 强行包上一层引号的“外壳”,变成字符串才行。
那么,不同格式之间是不是不能链接了?
python提供了另外一种——格式化,也就是format()
天哪,看完之后我觉得前面的 + 号拼接简直就是原始人干的活,虽然 + 好理解,但如果要拼的东西多了,代码里全是加号和引号,眼睛都要看花了。
这个 format() 就像是在一句话里提前挖好几个坑,然后再把东西一个个填进去。
如果是用+号链接,
print("我叫" + "欧阳" + ",今年" + str(18) + "岁。")
用format 写法,看着清爽多了:
print("我叫{},今年{}岁。".format("欧阳", 18))
最让我觉得神奇(也最让我懵逼)的是,那个大括号 {} 里面竟然还能写数字!书上说这叫“索引”。
比如我写第一个写作 {1} 和第二个写作 {0},就能把填进去的东西顺序给倒过来。
print("我叫{},今年{}岁。".format("欧阳", 18))
把这三个代码放在一起看:
print("我叫"+"欧阳"+",今年"+str(18) +"岁。")
print("我叫{},今年{}岁。".format("欧阳", 18))
print("我叫{1},今年{0}岁。".format("欧阳", 18))
输出结果分别是
我叫欧阳,今年18岁。
我叫欧阳,今年18岁。
我叫18,今年欧阳岁。
不过,最让我心态炸裂的还是教材里那一串像密电码一样的符号:{0:=^20}。 我看书上的解释:
0 是位置(这个我刚懂)。
: 是个分界符。
= 是填充物。
^ 是居中。
20 是总宽度。
这哪是写代码啊,这简直是在搞摩斯电码!我试着改了一下,把 ^ 换成 >,发现它就往右靠了;把 = 换成 *,两边就全是小星星。
我现在两眼都是一闪一闪小星星,只想休息一下,好好消化一下。
#python
#学习
小白从零开始学python:Day1初始python
第二章 变量与常量以及number数据类型
零基础学习python:第三天<温度转换和蟒蛇>练习