第 2 章 变量和简单数据类型 # 2-1 简单消息: 简单消息: 将一条消息存储到变量中,再将其打印出来。 ''' test_maxwell = " I love Python !" print(test_maxwell) '''
''' # 2-2 多条简单消息: 多条简单消息: 将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。 test_max = " 上海今天的天气真的很好,如此好的天气还是有很多大学生选择在室内学习却放弃了在室外游玩的一次美丽游玩的邂逅!" print(test_max) risk_1 = print(test_max) print(risk_1) ''' # 2.3 字符串 # 字符串就是一系列字符。在Python 中,用引号括起来的都是字符串,其中的引号可以是单引号,也可以是双引号。 # 2.3.1 使用方法修改字符串的大小写。 # 对于字符串,可执行的简单的操作之一就是修改其中的单词的大小写。 ''' name = "ada_lovelace" print(name.title()) # 函数title()以首字母大写的方式显示每个单词,即将每个单词的首字母改为大写。 ''' # name = "Ada lovelace" # print(name.upper()) # 将字符串全部改为大写 # print(name.lower()) # 将字符串全部改为小写 。 存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要这些信息时,再将其转换为最合适的大小写方式。 # 2.3.2 合并(拼接)字符串 # 很多情况下,都需要合并字符串。 # first_name = "Maxwell" # last_name = "Pan" # full_name = first_name + " " + last_name # print(full_name) # Python使用加号(+)来合并字符串。以上这种合并方式的方法称为拼接。通过拼接,可使用存储在变量中的信息来创建完整的消息。 # first_name = "Maxwell" # last_name = "Pan" # full_name = first_name + " " + last_name # print("Hello, " + full_name.title() + "!") # 也可以使用拼接来创建消息,再把整条消息都存储在一个变量中: # first_name = "Maxwell" # last_name = "Pan" # full_name = first_name + " " + last_name # message = "Hello, " + full_name.title() + "!" # print(message) # 2.3.3 使用制表符或换行符来添加空白 # 在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可以使用空白来组织输出,以便其更容易读。 # print("Python") # 要在字符串中添加制表符,可使用字符组合/t # print("\tPython") # 要在字符串中添加换行符,可以用字符组合\n: # print("Language:\nPython\nC\nJavaScript") # 还可以在同一个字符串中同时包含制表符和换行符。 # 字符串"\n\t"让Python 换到下一行,并在行开头添加一个制表符。 # print("Languages:\n\tPython\n\tC\n\tJavaScript") # 2.3.4 删除空白 # Python 能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip() # favorite_language = 'python ' # print(favorite_language) # 要永久删除这个字符串中的空白,必须将删除操作的结果存回变量中: # favorite_language = favorite_language.rstrip() # print(favorite_language) # 你可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法lstrip()和strip() # favorite_language = ' python ' # favorite_language.rstrip() # print(favorite_language.rstrip()) # favorite_language.lstrip() # favorite_language.strip() # print(favorite_language.strip()) # 以上lstrip(),rstrip(),strip() 这些剥除函数有助于你熟悉字符串操作。在实际程序中,这些剥除函数最常用于在存储用户输入前对其进行清理。 # 2.3.5 使用字符串时避免语法错误。 # 语法错误是一种时不时会遇到的错误。程序中包含非法的Python 代码时,就会导致语法错误。 # 撇号位于两个双引号之间,因此Python解释器能够正确地理解这个字符串 # message = "One of Python's strength is its diverse community." # print(message) # 然而,如果你使用单引号,Python将无法正确地确定字符串的结束位置: # message = ' One of Python's strength is its diverse community. ' # print(message) # 注意 编写程序时,编辑器的语法突出功能可帮助你快速找出某些语法错误。看到Python代码以普通句子的颜色显示,或者普通句子以Python代码的颜色显示时,就可 能意味着文件中存在引号不匹配的情况。
p2:
p3:
p4:
p5:
p6:
p7:
p8:
p9:
p10:
p11:
# 动手试一试 动手试一试 # 在做下面的每个练习时,都编写一个独立的程序,并将其保存为名称类似于name_cases.py的文件。如果遇到了困难,请休息一会儿或参阅附录C提供的建议。 # 2-3 个性化消息: 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。 # name = " Maxwell" # message_v = 'Hello %s'%name + ", Would you like to learn some Python today ?" # # print(message_v) # 2-4 调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母的方式显示这个人名。 ''' name = "maxwell Pan" print(name.lower()) print(name.title()) print(name.upper()) ''' # 2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号). # Albert Einstein once said, “A person who never made a mistake never tried anything new.” ''' name = "Albert Einstein" print('%s'%name + ', “A person who never made a mistake never tried anything new.”') ''' # 2-6 名言 名言2: : 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息 ''' famous_person = 'Albert Einstein' message = '%s'%famous_person + ', “A person who never made a mistake never tried anything new.”' print(message) ''' # 2-7 剔除人名中的空白: 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。 # 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来 ''' famous_person = ' Albert Einstein ' print(famous_person) print(famous_person.lstrip()) print(famous_person.rstrip()) print(famous_person.strip()) '''
# 2.4 数字 # 在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web应用信息等。Python根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看Python 是如何管理它们的。 # 2.4.1 整数 # 在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。 # print(2+3) # print(3-4) # print(2*3) # print(3/2) # 在终端会话中,Python 直接返回运算结果。Python 使用两个乘号表示乘方运算: # print(3 ** 2) # print(3 ** 3) # print(10 ** 6) # Python 还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让Python 按你指定的次序执行运算,如下所示: # print(2 + 3*4) # # print((2 + 3) * 4) # 2.4.2 浮点数 # Python 将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样一个事实。:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善地处理浮点数。 # 确保不管小数点出现在什么位置,数字的行为都是正常的 # print(0.1 + 0.1) # print(0.2 + 0.2) # print(2 * 0.1) # print(2 * 0.2) # 但需要注意的是,结果包含的小数位数可能是不确定的。 # print(0.2 + 0.1) # print(3 * 0.1) # 所有语言都存在这种问题,没有什么可担心的。Python会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式, # 这在有些情况下很难。就现在而言, 暂时忽略多余的小数位数即可;在第二部分的项目中,你将学习在需要时处理多余小数位的方式。 # 2.4.3 使用函数str()避免类型错误 # 你经常需要在消息中使用变量的值。例如,假设你要祝人生日快乐,需要编写类似于下面的代码: # age = 23 # message = "Happy " + str(age) + "rd Birthday!" # print(message) # 2.5 注释 # 在大多数编程语言中,注释都是一项很有用的功能。本书前面编写的程序中都只包含Python代码, # 但随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法 进行大致的阐述。注释 注释 让你能够使用自然语言在程序中添加说明。 # 2.5.1 如何编写注释 # 在Python 中,注释用(#)标号。井号后面的内容都会被Python 解释器忽略,如下所示: # 向大家问好 # print("Hello Python people!") # 2.5.2 该编写什么样的注释 该编写什么样的注释 # 编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了。当然,你总是 可以通过研究代码来确定各个部分的工作原理,但通过编写注释,以清晰的自然语言对解决方案进行概述,可节省很多时间。 # 要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源 项目的人员。训练有素的程序员都希望代码中包含注释,因此你最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的 注释。 # 如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头去再添 加注释,删除多余的注释要容易得多。从现在开始,本书的示例都将使用注释来阐述代码的工作原理。 import this print(this)