Python快速入门(二)
- 2019 年 10 月 11 日
- 筆記
引言
Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。
这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅读时间不长,但内容含量高。大家最好亲自码一遍代码,这样可以更有收获。
概要
1、掌握Python中的基本变量,学会查看变量类型;
2、掌握Python中的格式化字符串,让你打印得心应手;
3、掌握Python中的转义序列,轻松应对换行等特殊符号打印的问题。
变量
变量对于程序而言是核心,如何使用好变量就成了关键所在。先说下给变量起名的问题,在代码量少的时候,我们可以用简单的方法,给变量命名。但是,当变量很多的时候,我们要尽可能地使用有意义的名字,让这个变量的意思变得明显。看过别人代码的,应该感受颇深。
我们列举两种常用的给变量取名字的方法:
- 缩写
- 加下划线
代码:
stud_male = 46
stud_female = 54
student = stud_male + stud_female
print (student)
讲解:
假设一个班上有46位男同学和54位女同学,我们想用程序求这个班上学生的总数,我们在给男女同学变量命名的时候分别用stud_male和stud_femal,这里stud就是student的缩写,下划线_可以看成起到空格的作用,用来隔开单词。
在尽量通过命名来赋予变量意义的时候,大家也不要忘了用注释来给变量释义。
字符串变量
什么是字符串?我们把字符串里面的数字,字母或者符号叫做字符,连一起串成串,就成了字符串。用来干啥呢?通过字符串,我们可以把英语字母组成单词,也可以把汉字组成一句话,这就是字符串常见的用途。
字符串变量的创建需要用单引号或者双引号,二者一般情况下都是可以的。
代码:
string1 = 'Hello World!'
string2 = "How are you?"
print (string1)
print (string2)
讲解:
我们定义了两个字符串变量,string1和string2,左边是变量名,右边是变量内容。我们分别用单引号和双引号创建。注意引号是不可或缺的。
整数型变量和浮点型变量
看到这个小标题,大家应该猜出来,整数型和浮点型变量是拿来计算用的,其中浮点类型变量是用来存储带有小数的实数。但是,为什么要这么划分呢?原来,计算机的计数方式是二进制的,而我们常用的是十进制,要想用二进制方法表示十进制中带有小数的实数,需要花上一定功夫。在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到目前为止使用最广泛的是浮点表示法。
代码:
num1 = 100
num2 = 100.0
print (type(num1))
print (type(num2))
讲解:
我们分别用了100和 100.0来给变量赋值,这里我们给大家介绍一个技巧,用type函数来查看变量的类型,推荐大家对比把握不准的变量先用这个函数来查看变量类型。
通过打印结果,你会发现,num1的类型是整数型,记作int;而num2是浮点型,记作float。
运行结果:
100
Hello World!
How are you?
<class 'int'>
<class 'float'>
练习题:
1,如果小明有三个苹果,两个梨子和四个西瓜,用变量分别表示,并求小明一共有多少个水果。
2,打印英语课本经典对话,How are you? I am fine, thank you, and you?
3,分别查看 num = 7/4 和num = 7.0/4的结果和变量类型。
格式化字符串
有了字符串,我们就可以打印一段话。但是,我们想将事先定义好的变量加进去,该如何做到呢?比如说,我们事先定义苹果数量,是一个整数型变量。然后我们想打印的时候,直接引用这个变量,用来告诉大家我们有多少苹果。答案便是格式化字符串,用一个标记指代变量,融入字符串中。
代码:
stud_male = 46
stud_female = 54
print ('Number of male students is %d and female is %d.' %(stud_male,stud_female))
讲解:
在这段代码中,我们用了两次格式化字符串,第一个%d用来指代stud_male,第二个%d用来指代stud_female。完成格式化字符串有两个步骤:
- 在要打印的话也就是引号里面中用%d指代变量,占住位置
- 然后在引号外面再用%引出真正的变量。
如果在一段话中使用多个格式化字符串,引号外面的变量需要放在圆括号中,变量之间用逗号隔开。
常用的格式化字符串
刚刚我们用了%d来指代整数变量。我们把几种常见的格式化字符串总结一下:
- %d指代整数型变量
- %s指代字符串变量;
- %f指代浮点数变量;
- %r可以指代任何类型变量。
代码:
string1 = "apple"
int1 = 2
float1 = 30.14
print ('I bought %d %ss and paid %07.3f dollars.' %(int1,string1,float1))
print ('I bought %r %rs and paid %r dollars.' %(int1,string1,float1))
讲解:
在这个例子中,我们把四种格式化字符串都用上了,打印同一个内容,目的比较它们用法上的区别:
- 对于apple的打印,第二句话中%r结果比第一句话的%s多了单引号,等于说把变量本身整体打印下来了;
- 对于float1的打印,第一句话中%f相比于第二句话的%r多了四个0。
究其原因,%r相对比较特殊,它使用rper()方法处理对象,对于字符串变量输出会带有单引号,而%s是用str()方法处理对象,不会出现单引号。
另外%f的使用可以通过增加一个小数数字来控制小数点输出位数,例如%06.2f会打印宽度6的2位小数。
运行结果:
The number of male students is 46 and female is 54.
I bought 2 apples and paid 030.140 dollars.
I bought 2 'apple's and paid 30.14 dollars.
练习题:
1,先输入代码:
import date time;
time =datetime.date.today()
然后在一句话中用%r和%s分别打印time,查看并思考二者区别。
转义序列
转义序列这个词可能听起来拗口,但是它其实功能很单纯,是针对编程语言中一些特殊符号的打印问题而诞生的。
大家可以尝试这样的代码print (‘I’m a superman’)。事实上,你会遇到如下的报错信息:语法错误 (invalid syntax)。因为引号本身已经被赋予了一个意义,当你想要打印引号的时候,只需要在前面加一个反斜杆,就没有问题了。
代码:
print (' I'm a superman ')
讲解:
引号里面打印引号有问题,这时候我们只需要在里面的引号前面加一个反斜杠就可以实现打印出引号。我们将这些需要加一个反斜杠来表示的特殊字符叫做转义序列。
我们将常见的转义序列总结在了下面的表格当中:
除了用反斜杆,我们还可以用三重引号,来实现转义序列:
代码:
print (''' I'm a superman ''')
讲解:
三重引号作用是将引号内部的符号当成转义序列,这时候不需要用到放斜杠进行转义序列的转换。
运行结果:
I'm a superman
I'm a superman
练习题:
1,使用转义字符打印一段英文对话,需要配上人物以及冒号。
2,使用三重引号打印一段英文对话,需要配上人物以及冒号。