第2章-变量和简单数据类型

第2章-变量和简单数据类型

2.1 运行 hello_world.py 时发生的情况

 1 #hello_world.py 2 print('Hello Python world!') 

①文件名“hello_world.py”中,末尾的.py指出这是一个Python程序,文件名后缀是编程语言类型,编辑器将使用Python解释器来运行它。如第1章所说,python解释器会将代码,按python的语法去翻译,执行。

② print的作用,将将括号中的内容打印到屏幕。

③函数名称显示为蓝色,如"print"

④不是Python代码显示为橙色,如“Hello Python world!”。

2.2 变量

1 message = "Hello Python world!"
2 print(message)
3 message = "Hello Python Crash Course world!"
4 print(message)

①每个变量都存储了一个值——与变量相关联的信息,变量命名,即将变量值和变量名关联起来,如第一行,message存储的值为文本“Hello Python world!”。

②print打印变量时,是将变量关联的值打印到屏幕。如第二行,打印message,将message关联的“Hello Python world!”打印到屏幕。

③在程序中可随时修改变量的值,而Python将始终记录变量的最新值。如第四行打印的结果为"Hello Python Crash Course world!"。

2.2.1 变量的命名和使用

变量的命名规则

① 变量名只能包含字母数字下划线。变量名可以字母或下划线打头,但能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

② 变量名能包含空格,但使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

要将Python关键字和函数名作变量名,即不要使用Python保留用于特殊用途的单词,如 print。

④ 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

写字母l写字母O,因为它们可能被人错看成数字1和0。

⑥就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。

 

2.2.2 使用变量时避免命名错误

 

1 message = "Hello Python Crash Course world!"
2 print(mesage)
3 ''
4 Traceback (most recent call last):
5  File "hello_world.py", line 2, in <module>
6    print(mesage)
7 NameError: name 'mesage' is not defined
8 ''

①程序存在错误时,Python解释器将竭尽所能地帮助你找出问题所在。程序无法成功地运行时,解释器会提供一个traceback。traceback是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。

②解释器指出,文件的第几行存在错误,如所示

③解释器会列出了错误代码,旨在帮助你快速找出错误,如所示。

④解释器会指出了它发现的是什么样的错误,如所示。

名称错误通常意味着两种情况:要么是使用变量前忘记了给它赋值,要么是输入变量名时拼写不正确。

 1 mesage = "Hello Python Crash Course reader!" 2 print(mesage) 

①Python解释器不会对代码做拼写检查,但要求变量名的拼写一致。如上例message错误地拼写成了mesage,但计算机不关心拼写是否正确。

1 #练习

将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来

2 message = "世界很美好!"
3 print(message)
4 message = "世界并不美好!"
5 print(message)

2.3 字符串

1 #字符串
2 string1 = "This is a string."
3 string2 = 'This is also a string.'
4 string3 = 'I told my friend, "Python is my favorite language!"'
5 string4 = "The language 'Python' is named after Monty Python, not the snake."
6 string5 = "One of Python's strengths is its diverse and supportive community."

①字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,这种灵活性让你能够在字符串包含引号和撇号。如上所示。

2.3.1 使用方法修改字符串的大小写

1 name = "ada lovelace"
2 print(name.title())
3 name = "Ada Lovelace"
4 print(name.upper())
5 print(name.lower())

方法是Python可对数据执行的操作。在变量后“.方法名()”,每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。

title()首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。如行2

upper()将字符串改为全部大写。如行4

lower()将字符串改为全部小写。如行5

2.3.2 合并(拼接)字符串

1 first_name = "ada"
2 last_name = "lovelace"
3 full_name = first_name + " " + last_name
4 print(full_name)
5 print("Hello," + full_name.title() + "!")
6 message = "Hello," + full_name.title() + "!"
7 print(message)

①Python使用加号( + )来合并字符串。这种合并字符串的方法称为拼接。通过拼接,可使用存储在变量中的信息来创建完整的消息。如行5。

②你可以使用拼接来创建消息,再把整条消息都存储在一个变量中。如行6。

 

2.3.3 使用制表符或换行符来添加空白

1 print("python")
2 print("\tpython")
3 print("Languages:\npython\nC\nJavaScript")
4 print("Languages:\n\tpython\n\tC\n\tJavaScript")

①在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其更易读。

②要在字符串中添加制表符,可使用字符组合 \t 。如行2

③要在字符串中添加换行符,可使用字符组合 \n 。如行3

④还可在同一个字符串中同时包含制表符和换行符。字符串 "\n\t" 让Python换到下一行,并在下一行开头添加一个制表符。如行4

2.3.4 删除空白

 1 favorite_language = 'python '
 2 print(favorite_language)
 3 print(favorite_language.rstrip())
 4 print(favorite_language)
 5 favorite_language = favorite_language.rstrip()
 6 print(favorite_language)
 7 favorite_language = ' python'
 8 print(favorite_language.rstrip())
 9 print(favorite_language.lstrip())
10 print(favorite_language.strip())

①Python能够找出字符串开头和末尾多余的空白。

②确保字符串末尾没有空白,可使用方法rstrip() 。如行3

③方法并不能改变变量的值,要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中。如行5

lstrip()可以剔除字符串开头的空白。如行9

strip()可以同时剔除字符串两端的空白。如行10

⑥在实际程序中,这些剥除函数最常用于在存储用户输入前对其进行清理。

2.3.5 使用字符串时避免语法错误

1 message = "One of Python's strengths is its diverse community."
2 print(message)
3 message = 'One of Python's strengths is its diverse community.'
4 print(message)
File "E:/python/代码/caogao.py", line 4 message = 'One of Python's strengths is its diverse community.' ^ SyntaxError: invalid syntax

 

①语法错误是一种时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。

②在用单引号括起的字符串中,如果包含撇号,就将导致错误。如行3

这种语法错误表明,在解释器看来,其中的有些内容不是有效的Python代码。

 

 

2.3.6 Python 2 中的 print 语句

  1 print "Hello Python 2.7 world!" 

在Python 2中,无需将要打印的内容放在括号内。从技术上说,Python 3中的 print 是一个函数,因此括号必不可少。有些Python 2  print 语句也包含括号,但其行为与Python 3中稍有不同。简单地说,在Python 2代码中,有些 print 语句包含括号,有些不包含。

 1 #习题1

将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。

 2 name = input("请输入你的名字:")
 3 question = "Hello " + name + ", would you like to learn some Python today?"
 4 print(question)
 5 #习题2

将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。

 6 name = input("请输入你的英文名:")
 7 print(name.lower())
 8 print(name.title())
 9 print(name.upper())
10 #习题3

找一句你钦佩的名人说的名言,将名人的姓名存储在变量 famous_person 中,再创建要显示的消息,并将其存储在变量 message 中,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.”

11 famous_person = input("请输入名人名:")
12 wisdom = input("请输入" +  famous_person + "的名言:")
13 message =  famous_person + " once said," + '"' + wisdom + '"'
14 print(message)
15 #练习4

存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合 "\t" 和 "\n" 各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数 lstrip() 、rstrip() 和 strip() 对人名进行处理,并将结果打印出来。


16 name = "\n\tZhang\tjin\tye\t" 17 print(name) 18 print(name.lstrip()) 19 print(name.rstrip()) 20 print(name.strip())

 

2.4 数字

 

2.4.1 整数

1 print(2+3)
2 print(3-2)
3 print(2*3)
4 print(3/2)
5 print(3**2)
6 print(3**3)
7 print(10**6)

①在Python中,可对整数执行加( + )减( - )乘( * )除( / )运算。如行1、2、3、4

②Python使用两个乘号表示乘方运算。如行5、6、7

 1 print(2+3*4) 2 print((2+3)*4) 

③Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让Python按你指定的次序执行运算。

2.4.2 浮点数

1 print(0.1+0.1)
2 print(0.2+0.2)
3 print(2*0.1)
4 print(2*0.2)
5 print(0.2+0.1)
0.30000000000000004
6 print(3*0.1)
0.30000000000000004

①Python将带小数点的数字都称为浮点数。

②需要注意的是,结果包含的小数位数可能是不确定的。如行5、6

2.4.3 使用函数 str() 避免类型错误

1 age = 23
2 message = "Happy " + age +"rd Birthday!"

Traceback (most recent call last):
  File "E:/python/代码/caogao.py", line 3, in <module>
   message = "Happy" + age +"rd Birthday!"
TypeError: can only concatenate str (not "int") to str

3 message = "Happy " + str(age) +"rd Birthday!"
4 print(message)

这是一个类型错误,意味着Python无法识别你使用的信息。

②函数 str() ,它让Python将非字符串值表示为字符串。如行3

2.4.4 Python 2 中的整数

在Python 2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。在Python 2中,若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数。从Python 3转而用Python 2或从Python 2转而用Python 3时,这种除法行为常常会令人迷惑。使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为。

1 #习题1
编写 4 个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字 8。为使用 print 语句来显示结果,务必将这些表达式用括号括起来,也就是说,输出应为 4行,其中每行都只包含数字 8。
# 张** 2020/8/16 练习python的加减乘除 2 print(3+5) 3 print(11-3) 4 print(2*4) 5 print(32/4) 6 #习题2
将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。
# 张** 2020/8/16 将你输入的最喜欢的数字打印出来。
7 love_number = input("请输入您最喜欢的数字:")
8 print("我最喜欢的数字是" + str(love_number) + "")

 

2.5 注释

注释让你能够使用自然语言在程序中添加说明。

2.5.1 如何编写注释

 1 #向大家问好 2 print("Hello python people!") 

在Python中,注释用井号( # )标识。井号后面的内容都会被Python解释器忽略

2.5.2 该编写什么样的注释

2.6 Python 之禅

开发的项目涉及复杂代码时,一定要为这些代码编写有益的注释。

2.7 小结


posted @ 2020-08-16 23:22  依叶之秋  阅读(352)  评论(0编辑  收藏  举报