一些关于自己学习Python的经历的内容,遇到的问题和思考等,方便以后查询和复习。
声明:本人学习是在扇贝编程通过网络学习的,相关的知识、案例来源于扇贝编程。如果使用请说明来源。
Python 中的字符串是使用一对英文单引号(')或英文双引号(")包裹的任意文本。无论是用单引号还是用双引号,它俩的效果都是一样的,但需要保持前后引号的统一。
在之前的课程练习中,我们打印的文字好像都只能在一行,如果我们要打印多行文字时,比如打印一首诗,要怎么办呢?
我们可以使用一对三引号(''' 或 """)来包裹多行字符串。三引号包裹的字符串和普通的字符串使用上没有区别,只是三引号支持多行字符串而已。
除了使用多行字符串来实现多行文本外,使用 \n 也能达到一样的效果。\n 被称为 换行符,用于文本间的换行。
poetry = '日暮苍山远,天寒白屋贫。\n柴门闻犬吠,风雪夜归人。'
print('''微明的灯影里
我知道她的可爱的土壤
是我的心灵成为俘虏了
我不在我的世界里
街上没有一只灯儿舞了
是最可爱的
你睁开眼睛做起的梦
是你的声音啊''')
三引号,一般前面和第一行在一起,后面和最后一行在一起。
如果前后引号单独出来,也能打印,但是前面好像会有空行,希望会说和答案不一致,实际应够用中前后引号应该是可以单独一行的。
通过 + 可以将两个字符串拼接,得到一个新的字符串。
full_name = first_name + '·' + last_name
把同一个字符串重复很多次的时候,我们可以使用多个 + 拼接
str1 = '海草'
str2 = str1 + str1 + str1
用 *数学中的乘法是相同的数加起来的快捷方式,Python 中字符串的拼接操作也是如此。
str1 = '海草'
str2 = str1 * 3 # 相当于 str1 + str1 + str1
Python 还提供了一种更高级的方法来组合字符串,那就是字符串格式化输出。
字符串格式化输出 是按照一种既定格式给字符串填空的方式,以便我们更加方便地写入字符串。比如一段自我介绍的文本:我叫 xx,今年 xx 岁,来自 xx。,根据我们学过的知识,我们会这样写:
def print_intro(name, age, city):
intro = '我叫' + name + ',今年 ' + str(age) + ' 岁,来自' + city + '。'
print(intro)
print_intro('小贝', 18, '南京')
# 输出:我叫小贝,今年 18 岁,来自南京。
使用格式化输出
def print_intro(name, age, city):
intro = '我叫%s,今年 %d 岁,来自%s。' % (name, age, city)
print(intro)
print_intro('小贝', 18, '南京')
# 输出:我叫小贝,今年 18 岁,来自南京。
% 运算符左边是要格式化的字符串,右边是一个元组。如果只有一个占位符,可以将元组里的元素拿出来,如:'我叫%s' % '小贝'。
我们通过 %s、%d 这样的占位符在字符串中“占位”,Python 会将 % 右边的内容会按顺序替换掉对应的占位符,一一填空。每个占位符都有特定的含义,常见的占位符:
%d、%f、%s、%x分别代表整数、浮点、串和十六进制整数
练习:天气预报
weathers = [
('南京', 36),
('成都', 30),
('昆明', 26)
]
for weather in weathers:
print('今天' + weather[0] + '的最高气温是' + str(weather[1]) + '度')
这个是用+号对字符进行拼接的。
weathers = [
('南京', 36),
('成都', 30),
('昆明', 26)
]
for weather in weathers: # 遍历所以,会一个一个元素访问的。每个元素是一个元组
forecast = '今天%s的最高气温是%d度' %(weather[0], weather[1])
print(forecast)
这个是适用格式format,对字符进行拼接组合。
(weather[0], weather[1])括号中的0和1是元素的索引,本题中由于前面有两个占位符,而列表中的元素是元组,刚好也是两个元素。所以会自动匹配,因此这里的0和1去掉也可以。
(weather[0], weather[1]) 其实就是列表中的元素,也就是每个元组。前面两个占位符分别使用元组的第一和第二个元素。
练习:自我介绍
身为 Python 练习生的你,练习时长有多久了呢?今天我们来用字符串格式化的知识来做段自我介绍!
格式是:同学们大家好,我是 Python 练习时长xxx的个人练习生xxx,喜欢xxx!。比如:同学们大家好,我是 Python 练习时长两年半的个人练习生小贝,喜欢唱、跳、Python、篮球!
def print_intro(duration, name, hobby):
print('大家好,我是 Python 练习时长两年半的个人练习生小贝,喜欢唱、跳、Python、篮球!')
# 用占位符修改上面字符串
print('大家好,我是 Python 练习时长%s的个人实习生%s,喜欢%s!' % (duration, name, hobby)) # % 后面的部分开始没有写对,这里就是用来一个元组,元组的元素就是函数的变量。变量是在最后一行赋值,然后运行print命令。
最初我是把证据放到最后,一直报错,后来放在这里,但是最后写的是 % (print_intro)无法调用函数,不能赋值,所以占位符打出来并没有要求的内容。打出的结果是:大家好,我是 Python 练习时长
# 将参数改为你的自我介绍
print_intro('两年半', '小贝', '唱、跳、Python、篮球')