写在前面—编程规范化之一
编写程序有很多没有明文规定的规则,随着学习的深入,逐渐掌握并应用这些规则,可以让我们写出来的代码更美观、可读性更高。
- Tip1:在编程中,我们会以下划线代替空格。例如:
my_hair = 'black'
- Tip2:运算符左右两侧添加空格。例如:
total = my_age + my_height + my_weight
- Tip3:我们目前运行程序的方式是:文本编辑器中编写代码、使用命令行键入python命令运行代码,借此熟悉基本操作
一、字符串格式化
1.对字符串的理解及其功能简述
- 字符串的创建:当我们将一段文本用单引号或者双引号包住,我们就创建了一个字符串。
- 字符串的输出:使用print() 函数打印或者说在屏幕上显示字符串。
- 字符串是什么?字符串通常是一些你想要让你的程序呈现给别人或者“输出”的文本信息。
2.字符串格式化的目的
前面我们学习了字符串数据类型与常变量知识,我们可以将一个字符串赋值给一个变量,也可以直接输出这个字符串。
但是,如果说我们暂时不知道某个变量的值,需要编写一段程序进行计算,同时输出它,我们该怎么做呢?这就出现了格式化字符串。
所谓格式化字符串,目的就是将变量嵌入字符串进行输出,这个变量的值,我们或许知道,或许不知道。
3.字符串格式化方法之一------f-string 方法
3.1.用法
- 字符串常量前添加字符 f,f 指的是format(格式化)。
- 在字符串中某些位置------本来应填入一个常量(数字、字符串…)的地方,加上一个大括号 {}。
- {} 内填入一个变量,这个变量对应我们本应填入的常量。
3.2.例子
- 示例代码:
my_name = 'Alan Smith' # a causal name
my_age = 20
my_height = 175 # centimeters
my_weight = 115 # kg
my_eyes = 'brown'
my_teeth = 'white'
my_hair = 'black'
# 格式化字符串方法之一
print(f"Let's talk about {my_name}.")
print(f"He's {my_height} centimeters tall.")
print(f"He's {my_weight} kg heaavy.")
print(f"He has {my_eyes} eyes and {my_hair} hair.")
total = my_age + my_height + my_weight
print(f"If I add {my_age}, {my_height} and {my_weight}, then I get {total}.")
- 运行结果:
- 总结说明:可以看到,本来是常量的位置,我们使用格式化方法可以将之替换为对应的变量。
前面的例子都是我们已知其值的变量,读者可能觉得替换的意义不大,不过这种写法可以让代码含义更明晰。
3.3.进阶训练------嵌套字符串
- 示例代码:
'''设置变量'''
types_of_people = 10
x = f"There are {types_of_people} types of people."
binary = "binary"
do_not = "don't"
y = f"Those who know {binary} and those who {do_not}."
print(x)
print(y)
print(f"I said: {x}")
print(f"I also said: '{y}'")
- 结果:
- 说明:使用嵌套字符串时,我们会使用不同的引号,由外到内为:三重引号、双引号、单引号。
4.字符串格式化方法之二------format() 函数(简单说明)
4.1.简单理解format() 函数
- 何为格式化:简单理解就是在一个字符串的常量位置我们想办法换成对应的变量并输出。
- format() 函数作用对象:需要格式化的字符串。
格式化方法 | 使用格式 | 说明 |
---|---|---|
format() | “…{}…{}…{}”.format(value1,value2,value3…) | format() 前是格式化对象(字符串),与format() 以一个小圆点相连;格式化字符串的大括号内不再填入变量名。 |
f-string方法 | f"…{name1}…{name2}…" | 格式化字符串大括号内直接填入变量名,输出时输出变量名对应的值。 |
4.2.format() 函数作用特点
format() 函数在作用时,前面的字符串留下以大括号包住的空位,该函数的括号内按顺序填入相应的变量值或者常量值。
4.3.示例一------在字符串常量中使用format() 函数
- 代码示例:
# 在'format()'函数的括号内填入常量输出
print("My name is {}.".format("Alan Smith"))
# 在'format()'函数括号内填入变量输出
my_name = "Alan Smith"
print("My name is {}.".format(my_name))
- 输出结果:
- 可以看出,format() 方法相对于f-string 方法的优点就是,输出的一行字符串的特定位置需要显示的值,完全由我们自己设定,自由度更高。
4.4.示例二-------在字符串变量中使用format() 函数&&多个值格式化
- 代码与问题:
# 一个特殊的字符串变量
formatter = "{} {} {} {}"
print(formatter.format(1,2,3,4))
print(formatter.format("one","two","three","four"))
print(formatter.format(True,False,True,False))
print(formatter.format(formatter,formatter,formatter,formatter))
-
输出结果如下(可以自己敲一遍欧):
-
可以看出,format() 函数中的值可以是数字、字符串、变量、布尔值
二、转义字符介绍
1.转义字符的定义
由反斜杠 \ 配合一个字符或者数字构成,将反斜杠后的数字和字符转换成特定的含义。
我们为什么需要转义字符呢?
请看代码:"I "understand" joe."
我们知道,用引号包裹起来的东西python会理解成字符串,但是上述代码该从哪里开始,从哪里结束呢?
我们的目的是在主要字符串中显示一个双引号,但这单引号又会被python 误会,于是就有了转义字符。
2.主要转义字符介绍
转义字符 | 功能 |
---|---|
\n | 代表换行符,主要用于我们在字符串内某个位置进行换行(我们总不能输入enter吧) |
\ | 产生反斜杠 \ |
’ | 产生单引号 |
" | 产生双引号 |
3. 代码示例
- 示例代码:
tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backslash_cat = "I'm \\ a \\ cat."
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print(tabby_cat)
print(persian_cat)
print(backslash_cat)
print(fat_cat)
- 注:其中有些转义字符我没有讲,大家自行查资料欧。
- 结果: