文章目录

  • 2.1 尝试一下
  • 2.2 变量
    • 2.2.1 变量的命名和使用
    • 2.2.2 使用变量时避免命名错误
    • 2.2.4 自己动手试一试
  • 2.3 字符串
    • 2.3.1 使用方法改变字符串的大小写
    • 2.3.2 合并(拼接)字符串
    • 2.3.3 使用制表符或换行符来添加空白
    • 2.3.4 删除空白
    • 2.3.5 使用字符串时避免语法错误
    • 2.3.6 动手试一试
  • 2.4 数字
    • 2.4.2 浮点型
    • 2.4.3 使用函数str()避免类型错误
    • 2.4.4 动手试一试
  • 2.5 注释
    • 2.5.1 如何编写注释
    • 2.5.2 该编写什么样的注释
  • 2.6 Python之禅

2.1 尝试一下

运行简单的print函数,实现人机互动

print("中国,您好!")
中国,您好!

2.2 变量

每个变量都存储了一个值 ——与变量相关联的信息。

下面我们来看一个变量的例子:

message = "中国,您好!"  #message为一个变量
print(message)            #打印输出该变量
中国,您好!

下面为为同一变量不同值的例子:

message = "中国"  #message为一个变量
print(message)    #打印输出该变量message = "您好!"  #message为一个变量
print(message)      #打印输出该变量
中国
您好!

在程序中可随时修改变量的值,而Python将始终记录变量的最新值。

2.2.1 变量的命名和使用

在Python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print (请参见附录A.4)。
  • 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
  • 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。

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

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

在使用变量使,要保证使用的变量与定义的变量名一致,不然会导致错误,例如:

message = "您好!"  #message为一个变量
print(mesage)      #打印输出该变量
---------------------------------------------------------------------------NameError                                 Traceback (most recent call last)<ipython-input-4-3f95a5ff46b7> in <module>1 message = "您好!"  #message为一个变量
----> 2 print(mesage)      #打印输出该变量NameError: name 'mesage' is not defined

上述在调用变量时,将message误输入为了mesage导致报告NameError错误,在终端中会将错误清楚的指出来,即最后一句 NameError: name ‘mesage’ is not defined

如果将上述错误改正过来,效果如下:

message = "您好!"  #message为一个变量
print(message)      #打印输出该变量
您好!

Python不会对代码做拼写进行检查,但要求变量名的拼写一致。如果不一致,Python无法识别,从而导致报错。计算机一丝不苟,但不关心拼写是否正确。因此,创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。

2.2.4 自己动手试一试

请完成下面的练习,在做每个练习时,都编写一个独立的程序。保存每个程序时,使用符合标准Python约定的文件名:使用小写字母和下划线,如simple_message.py和simple_messages.py。

2-1 简单消息: 将一条消息存储到变量中,再将其打印出来。

message = "我爱你,中国!"
print(message)
我爱你,中国!

2-2 多条简单消息: 将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

message = "我爱你"
print(message)message = "中国"
print(message)
我爱你
中国

2.3 字符串

字符串是数据类型的一种,它由一系列字符组成,用引号括起来的都是字符串,该引号可以为双引号,也可以为单引号,如下所示:

“This is a string.”

‘This is also a string.’

这种灵活性让你能够在字符串中包含引号和撇号:

'I told my friend, “Python is my favorite language!” ’

“The language ‘Python’ is named after Monty Python, not the snake.”

“One of Python’s strengths is its diverse and supportive community.”

接下来看看一些字符串使用的方法。

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

对于字符串最简单的操作就是改变其大小写,Python提供了一些修改的方法,如首字母大写,全部字母小写,全部字母大写等等。具体实例如下:

message = 'i love china!'  #定义一个字符串
print(message.title())     #title()为首字母大写的方法
I Love China!

在这个示例中,小写的字符串"i love china!" 存储到了变量message中。在print() 语句中,方法title() 出现在这个变量的后面。方法:是Python可对数据执行的操作(类似于C语言中的函数)。在message.title() 中,message后面的点“.”让Python对变量message执行方法title() 指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title() 不需要额外的信息,因此它后面的括号是空的。

title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada 、ADA 和ada视为同一个名字,并将它们都显示为Ada 。

还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以像下面这样做:

message = "I Love China!"    #定义一个字符串
print(message.upper())       #upper()将所有的字母都改为大写
print(message.lower())       #lower()将所有的字母都改为小写
I LOVE CHINA!
i love china!

上述两个方法类似于title()。

存储数据时,方法lower() 很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为最合适的大小写方式。

2.3.2 合并(拼接)字符串

在很多情况下,都需要合并字符串。例如,你可能想将姓和名存储在不同的变量中,等要显示姓名时再将它们合而为一:

first_name = "张"                   #姓
last_name = "三"                    #名
full_name = first_name + last_name  #全名,合并字符串时,只需要使用“+”号即可
print(full_name)                    #将全名打印出来
张三

这种合并字符串的方法我们称为拼接。通过拼接,可使用存储在变量中的信息来创建完整的消息。

对于打印输出我们也可以直接在print中使用。例如:

first_name = "张"                   #姓
last_name = "三"                    #名
print( first_name + last_name)      #将全名打印出来
张三

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

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

要在字符串中添加制表符,可使用字符组合\t ,如下述代码:

message = "我爱你,中国!"
print(message)message = "\t我爱你,中国!"
print(message)
我爱你,中国!我爱你,中国!

从上述打印结果来看,第一句代码里面没有使用\t,打印是从头来时打印了。而第二句代码里面使用了\t,打印空了几行后再打印。

接下来我们来看看换行符,可使用的字符组合为\n,如下述代码:

message = "我爱你\n中国!"
print(message)
我爱你
中国!

从上述打印结果可以看出,在\n处进行了换行输出处理。

还可在同一个字符串中同时包含制表符和换行符。字符串 “\n\t” 让Python换到下一行,并在下一行开头添加一个制表符。下面的示例演示了如何使用一个单行字符串来生成四行输出:

print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:PythonCJavaScript

2.3.4 删除空白

在程序中,额外的空白可能令人迷惑。对程序员来说,‘python’ 和’python ’ 看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。Python能够发现’python ’ 中额外的空白,并认为它是有意义的——除非你告诉它不是这样的。

空白很重要,因为你经常需要比较两个字符串是否相同。例如,一个重要的示例是,在用户登录网站时检查其用户名。但在一些简单得多的情形下,额外的空格也可能令人迷惑。所幸在Python中,删除用户输入的数据中的多余的空白易如反掌。

Python能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip() 。如下代码:

message = " 我 爱 你 , 中 国 ! "
print(message.rstrip())
 我 爱 你 , 中 国 !

要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中。

还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法lstrip() 和strip()。

对上述三个删除空白的方法名可以理解为,头在左边所以对应的是英文单词“left”的首字母,尾在右边所以对应的是英文单词的“right”的首字母。而两边同时去除那就只剩下“strip”。

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

语法错误 是一种时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。

下面演示了如何正确地使用单引号和双引号:

message = "One of Python's strengths is its diverse community."
print(message)
One of Python's strengths is its diverse community.

撇号位于两个双引号之间,因此Python解释器能够正确地理解这个字符串。

如果讲双引号改为单引号,则Python无法正确的确认字符串的结束位子:

message = 'One of Python's strengths is its diverse community.'
print(message)
  File "<ipython-input-29-a9250de55b39>", line 1message = 'One of Python's strengths is its diverse community.'^
SyntaxError: invalid syntax

从上述输出可知,错误发生在第二个单引号后面(可以看到第二个单引号下面有个^标号)。这种语法错误 表明,在编译器看来,其中的有些内容不是有效的Python代码。

注意  编写程序时,编辑器的语法突出功能可帮助你快速找出某些语法错误。看到Python代码以普通句子的颜色显示,或者普通句子以Python代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。

2.3.6 动手试一试

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

name = "eric"
message = "Hello " + name.title() + ", would you like to learn some Python today?"
print(message)
Hello Eric, would you like to learn some Python today?

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

name = "ERic"
print(name.lower())
print(name.upper())
print(name.title())
eric
ERIC
Eric

2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, “A person who never made a mistake never tried anything new.”

first_name = "albert"
last_name = "einstein"
celebrated_dictum = '"A person who never made a mistake never tried anything new."'message = first_name.title() + " " + last_name.title() + " once said," + celebrated_dictum
print(message)
Albert Einstein once said,"A person who never made a mistake never tried anything new."

2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。

first_name = "albert"
last_name = "einstein"
celebrated_dictum = '"A person who never made a mistake never tried anything new."'famous_person = first_name.title() + " " + last_name.title()
message = famous_person + " once said," + celebrated_dictum
print(message)
Albert Einstein once said,"A person who never made a mistake never tried anything new."

2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。

打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。

name = " Ting "
message = "I Love "
print(message + name.lstrip()+ "!")
print("\n" + message + name.rstrip() + "!")
print("\n\t" + message + name.strip() + "!")
I Love Ting !I Love  Ting!I Love Ting!

2.4 数字

在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web应用信息等。Python根据数字的用法以不同的方式处理它们。

在Python中,可对整数执行加(+)减(-)乘(x)除(/)运算。

sum = 3 + 5
print(sum)minus = 5 - 3
print(minus)multiply = 5 * 3
print(multiply)divide = 15 / 3
print(divide)
8
2
15
5.0

在Python中,使用两个乘号表示乘方运算:

power = 3 ** 3
print(power)
27

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

first = 2 + 3 * 4
print(first)last = (2 + 3) * 4
print(last)
14
20

2.4.2 浮点型

Python将带小数点的数字都称为浮点数 。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。

从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们:

number_1 = 0.1 + 0.1
number_2 = 0.1 * 2print(number_1)
print(number_2)
0.2
0.2

但值得注意的是,结果包含的小数位数可能不确定,如下:

number_1 = 0.1 + 0.2
number_2 = 0.1 * 3print(number_1)
print(number_2)
0.30000000000000004
0.30000000000000004

所有编程语言都存在这种问题,没有什么可担心的。Python会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可。

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

在实际使用中会经常使用到一些变量。

age = 25
message = "祝你" + age + "岁生日快乐!"print(message)
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-60-7840c8c7bf3a> in <module>1 age = 25
----> 2 message = "祝你" + age + "岁生日快乐!"3 4 print(message)TypeError: can only concatenate str (not "int") to str

我们可能会认为,上述代码没有问题,会打印出来“祝你25岁生日快乐!”。但是,当我们运行时会发现,该代码有问题,会报错。这是因为Python无法识别你使用的信息,属于类型错误。

在这个示例中,Python发现你使用了一个值为整数(int )的变量,但它不知道该如何解读这个值(见TypeError)。Python知道,这个变量表示的可能是数值25,也可能是字符2和5。像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数str() ,它让Python将非字符串值表示为字符串:

age = 25
message = "祝你" + str(age) + "岁生日快乐!"print(message)
祝你25岁生日快乐!

这样,Python就知道你要将数值25转换为字符串,进而在生日祝福消息中显示字符2和5。

大多数情况下,在Python中使用数字都非常简单。如果结果出乎意料,请检查Python是否按你期望的方式将数字解读为了数值或字符串。

2.4.4 动手试一试

2-8 数字8: 编写4个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用print 语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于下面的代码:

print(5 + 3)

输出应为4行,其中每行都只包含数字8。

print(5 + 3)
print(18 - 10)
print(4 * 7)
print(16 / 2)
8
8
28
8.0

2-9 最喜欢的数字: 将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。

number = 25message = "我最喜欢的数字是" + str(number) + "!"
print(message)
我最喜欢的数字是25!

2.5 注释

在大多数编程语言中,注释都是一项很有用的功能。随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法进行大致的阐述。注释 让你能够使用自然语言在程序中添加说明,也可以使你在长时间没有使用该代码后可以很好的回顾改代码。

2.5.1 如何编写注释

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

message = 'i love china!'  #定义一个字符串
print(message.title())     #title()为首字母大写的方法
I Love China!

2.5.2 该编写什么样的注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了。当然,你总是可以通过研究代码来确定各个部分的工作原理,但通过编写注释,以清晰的自然语言对解决方案进行概述,可节省很多时间。

要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此你最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。

如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头去再添加注释,删除多余的注释要容易得多。从现在开始,本书的示例都将使用注释来阐述代码的工作原理。

2.6 Python之禅

编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。这种理念一度深受大家的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终认识到,过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

经验丰富的程序员倡导尽可能避繁就简。Python社区的理念都包含在Tim Peters撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中执行命令import this 。这里不打算赘述整个“Python之禅”,而只与大家分享其中的几条原则,让你明白为何它们对Python新手来说至关重要。

import this

Python学习笔记2-第2章 变量和简单数据类型相关推荐

  1. python编程类型_python编程 | 第二章 变量和简单数据类型

    1. 变量 message = "Hello Python world!" print(message) 添加一个名为 message 的变量 .每个变量都存储了一个值 -- 与变 ...

  2. 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)

    <Python编程从入门到实践>第2章变量和简单数据类型知识总结:

  3. 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型

    前言 小白记录自己学习python的学习贴,如有错误请大佬指正 第二章是变量和简单数据类型的学习. 关于变量 在程序中随时可以修改变量的值,python将始终记录变量的最新值 变量名只能包含字母.数字 ...

  4. 【Tcl学习笔记】第3章 变量

    目录 3.1 简单变量 3.2 数组 3.3 Tcl的内部数据存储 3.4 预定义变量 Tcl类型支持两种类型的变量: 简单变量 关联数组 3.1 简单变量 创建 set varName [value ...

  5. Python学习笔记3—第3章 列表简介

    文章目录 3.1 列表是什么 3.1.1 访问列表元素 3.1.2 索引从0而不是从1开始 3.1.3 使用列表中的各个值 3.1.4 动手试一试 3.2 修改.添加.和删除元素 3.2.1 修改列表 ...

  6. C++Primer学习笔记:第2章 变量和基本类型

    空类型不对应具体的值,仅用于一些特殊的场合 long的长度为32位,float有7个有效位,double有16个有效位 如果数值超过了int的范围,应该用long long而不是long,long一般 ...

  7. Python学习笔记(尚硅谷)——变量

    布尔值 布尔值主要用来做逻辑判断,一共有两个--True和False. 在Python中,布尔值也属于整形,True就相当于1,False就相当于0. print(1+True) #输出结果为2 No ...

  8. 银角大王 python_2020年3月14日python学习笔记——练习题(第二章)——————重要...

    练习 针对列表names=['金角大王', '黑姑娘', 'rain', 'eva', '狗蛋', '银角大王', 'eva','鸡头']进入以下操作 1.通过names.index()的方法返回第2 ...

  9. css 识别变量中的换行符_Python编程 第二章——变量和简单数据类型

    变量名 变量名只能包含字母.数字.下划线,且不能以数字打头 变量名不能包含空格,一般以_作为分隔 不能使用保留字作为变量名 变量名通常使用小写 文件名 小写字母.下划线 字符串 用单引号或双引号括起的 ...

最新文章

  1. R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色、改变图像(plot)区域的背景色
  2. Apache Mahout 简介
  3. 3、Spring配置类
  4. Android中使用Notification在状态栏上显示通知
  5. dropbox文件_Dropbox即将发布的扩展程序更新将添加更多文件编辑支持,包括Pixlr照片...
  6. 985博导:如果符合这几条,你可能不适合读博!
  7. 怎样查询2021高考模拟成绩,2021年高三一模二模三模哪个成绩更接近高考成绩,看看网友是怎么评论...
  8. Discrete Logging POJ - 2417(BSGS)
  9. 20145122《Android开发基础》实验四实验报告
  10. GPU Pro 7——实时体积云(翻译,附Unity工程)
  11. steam linux不能运行,ubuntu 16.04下不能启动Steam的解决方法
  12. 中国足球深度剖析之五,破除周期性怪圈
  13. dbm与功率之间简单换算
  14. 23、使用OpenCV和NCNN进行人物抠图并将背景设置成透明色
  15. 经典计算机书籍-自制系列
  16. java读取jpg点数_我的世界:基岩版beta1.16.0.61修复59个“特性”,同步Java版?
  17. datav多组件交互
  18. HBuilder X乱码问题
  19. 金蝶系统服务器链接设置,金蝶如何设置连接服务器
  20. Pinpoint作为链路追踪和报警(监控spring boot服务)

热门文章

  1. vs code 全屏 快捷键 F11
  2. html颜色趋势,深色系网页的设计趋势
  3. Cesium加载无偏移百度、高德地图
  4. Unixbench——跨平台跑分
  5. 网络工程毕业设计 SSM中药店商城系统(源码+论文)
  6. Bridge资产导入 材质实例参数细节调整简单介绍
  7. 网络安全技术 第二章----数据加密与PKI技术(三)
  8. 趋势科技PC-cillin2015,你来公测我发奖!
  9. 诺信工业涂装系统推出新型Encore(R) nLighten™ LED套件
  10. Win10操作系统找不到已输入的环境选项解决方案