我们从上篇文章开始,给大家陆续介绍Python相关的基础知识,在上篇文章给大家介绍了Python的安装以及环境的搭建。本文给大家Python中的变量以及简单的数据类型。首先给大家介绍Python的运行机制。
其实Python在运行文件的时候和java是差不多的,我们学java的时候,学过JVM机制的。因此,我们在运行Python文件的时候,Python内部到底是怎么做的呢?实际上,即使是运行最简单的程序,Python所做的工作也相当的多,我们继续以上篇文章作为案例进行演示;具体代码如下:
print("Hello Python World!")
在运行上述代码中,我们会得到如下的结果:
学过java的众所周知,java在写代码的时候会首先建立一个名为.java
的文件,但是,由于Python是一种脚本语言,可以直接在CMD
黑屏终端运行,但是,我们一般默认会建立一个后缀名为.py
文件,形成的Python文件如下:
正如上图所说,末尾的.py
指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。Python解释器在读取整个程序,确定其中每个单词的含义。例如,看到单词print
时,解释器就会将括号中的整段程序进行读取,确定其中每个单词的含义。例如 看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
在编写程序时,编辑器会以各种方式突出程序的不同部分。例如,它能够识别print
是一个函数的名称,因此,在pycharm中的会以不同的颜色与其他的代码加以区分;具体如下:
正如上图所示,我们将print
称之为Python的关键字,用其他的颜色加以区分。其实除此之外,还有很多关键字,在之后的内容中加以介绍。print
括号内的其实严格来说不算是Python代码,因此将其显示为黄色。这种在编辑器里以颜色区分的即为语法突出,这对于我们刚学编程的读者来说是很有帮助的,不仅仅是Python而且也对任何的编程语言也是很有能帮助的,尤其是对代码的理解是很有帮助的!接下来,给大家介绍Python中变量的相关知识。
接下来在我们在前面的代码中使用了一个变量。在这个文件开头,我们添加一行代码,并对第2行代码进行修改,具体如下:
message = "Hello Python World!"
print(message)
具体运行的代码效果如下:
我们上图可知,何之前代码运行结果是一致的;尽管我们添加了一个名为message
的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本“Hello Python World!”。
添加变量导致Python解析器需要做更多工作。在处理第1行代码时,它将文本"Hello Python World!"与变量message
关联起来;而处理第2行代码的时候,它将与变量message
关联的值为打印到屏幕上。
下面来进一步扩展整个程序:修改为hello_world.py
,使其再打印一条信息。为此,在hello_world.py
中添加一个空行,在添加下面两行代码:
message = "Hello Python Crash Course World!"
print(message)
具体运行的代码效果如下:
在程序中随时可以修改变量的值,而Python将始终记录变量的最新值。
在python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南则是让我们在学习编程的时候更容易阅读和理解。在命名的时候需要牢记以下有关变量的原则:
- 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头。
- 变量名不能为空格,但可使用下划线来分割其中的单词。
- 不要将Python关键字和函数名作为变量名,既不要使用Python保留用于特殊用途的单词。
- 变量名应既简短应既简短又具有描述性。
- 慎用小写字母i和大写字母O,因为它们可能被人错看成是数字1和0.
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣尤其如此。随着我们编写程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。这里需要注意的是:就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。
程序员都会犯错,而且大多数程序员每天都会犯错。虽然优秀的程序员也会犯错,但他们也知道如何高效地消除错误。我们接下来总结一般程序员会犯的错误,并学会如何消除它。
我们将有意地编写一些引发错误的代码。请输入以下的代码,包括其中以粗体显示,但拼写不正确的单词mesage
message = "Hello Python Crash Course World!"
print(mesage)
具体执行代码如下:
程序存在错误的时候,Python解析器将竭尽所能地帮助你找出问题所在。程序无法成功时,解释器会提供一个Tranceback
。Tranaceback
是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困难。上图就是说明你不小心错误地写了变量名。解释器指出,文件中的第6行有错误,它列出了这行代码,旨在帮助我们找出错误;它还指出了它发现了什么错误。在这里,解释器发现了一个名称错误,并指出打印了的变量mesage
未定义;Python无法识我们提供的变量名。名称错误通常意味着两种情况:要么使用变量前忘记了给它赋值,要么输入变量名时拼写不正确。
若我们将第6行的变量名message
中遗漏了字母s。Python解析器不会对代码做拼写错误检查,但是要求变量名的拼写一致。例如,如果在代码的另一个地方也将message
错误地拼写成了mesage
,结果将会如何呢?
mesage = "Hello Python Crash Course World!"
print(mesage)
具体执行代码如下:
从上图可知,程序将成功地运行。计算机是一丝不苟。但不关心拼写是否正确。因此,创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。
很多读者所犯错误过于简单,可能只是在程序中的某一行输错了一个字符。为找出这种错误而花费很长时间的大有人在。很多程序员天资聪颖、经验丰富,却为找出这种细微的错误花费很长的时间,大家觉得这也太假了,但是,当你的代码很庞大的时候,就会出现这样的错误。因此,在之后编码的过程中一定要注意这一点。接下来,给大家介绍字符串的相关内容。
大多数的程序员都定义并手机某种数据,然后使用它们来做某些有意义的事情。鉴于此,对数据进行分类大有裨益。我们接下来介绍的第一种数据类型是字符串。字符串虽然看似简单,但能够已很多不同方式使用它们、
字符串是一系列字符,在Python中,用引号括起的都是字符串,其他的引号可以用单引号,也可以是双引号,具体如下:
“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.”
接下来介绍一些字符串的方式
对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写,具体如下:
name = "ada.lovelace"
print(name.title())
具体执行代码如下:
在上面的示例中,小写的字符串"ada.lovelace"
存储到了变量name
中,在print()语句中,方法title()出现在这个变量的后面。方法是Python可对数据执行的操作。在name.title()中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title()不需要额外的信息,因此它后面的括号是空的。
title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改成大写。这里很有用,因为你经常需要将名字视为信息。
当然,我们也可以通过以下的方法实现,具体如下:
name = "ada.lovelace"
print(name.lower())
print(name.upper())
具体执行代码如下:
存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确大小写,因此需要将字符串先转换为小写,在存储它们。以后需要显示信息时,再将其转换为最适合的大小写方式。
在很多情况下,都需要合并字符串。例如:读者可能想将姓和名存储在不同的变量中,等要显示姓名时再将它们合二为一:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
具体执行代码如下:
Python使用加号(+)来合并字符串。在这个示例中,我们使用+来合并first_name
、空格和last_name
,以得到完整的姓名。
这种合并字符串的方法称之为拼接。通过拼接、可使用存储在变量中的信息来创建完整的消息。我们在看一个例子:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
print("Hello, " + full_name.title() + "!")
具体执行代码如下:
在这里,一个问候用户的句子中使用了全名,并使用了方法title()
来将姓名设置为合适的格式。具体执行的结果如上图所示。
当然,我们也可以使用拼接来创建消息,再把整条消息都存储在一个变量中:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
print("Hello, " + full_name.title() + "!")
message = "Hello, " + full_name.title() + "!"
print(message)
在编程中,空白泛指任何非打印自符,如空格、制表符和换行符。你可以使用空白来组织输出,以使其更易懂。
要在字符串中添加制表符,可以使用字符组合\t,具体有如下:
print("Python")
print("\tPython")
具体执行代码如下:
要在字符串中添加换行符,可以使用字符组合\n,具体如下:
print("Languages:\nPython\nC\nJavaScript")
具体执行代码如下:
还可以在同一个字符中同时包含制表符和换行符。字符串"\n\t"
让Python换到下一行,并在下一行开头添加一个制表符。具体实现如下:
print("Languages:\nPython\nC\nJavaScript")
print("===========================================")
print("Languages:\n\tPython\n\tC\n\tJavaScript")
在程序中,额外的空白可能令人迷惑。对程序员来说,“Python”和“Python ”看起来几乎没什么两样,但对程序员来说,他们却是两个不同的字符串。Python能够发现‘Python’中额外的空格,并认为它是有意义的——除非你告诉它不是这样的。
空白很重要,因为我们经常比较两个字符串是否相同。例如,一个重要的示例是,在用户登录网站时检查其用户名。但是在一些简单得多的情形下,额外的空白也可能令人迷惑。索性在Python中,删除用户输入的数据中的多余的空白易如反掌。
Python能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip()。
favorite_language = 'python '
print(favorite_language)
print(favorite_language.rstrip())
print(favorite_language)
具体执行代码如下:
存储在变量favorite_language
中的字符串末尾包含多余的空白。你在终端会话中向Python询问这个变量的值时,可看到末尾的空格。对变量favorite_language
调用方法rstrip()
后,这个多余的空格被删除了。然而,这种删除只是暂时的,接下来再次询问favorite_language
的值时,你会发现这个字符串与输入时一样,依然包含多余的空白。
要永久删除这个字符串中的空白,必须删除操作的结果存回到变量中:
favorite_language = 'python '
print(favorite_language.rstrip())
具体执行代码如下:
为删除这个字符串中的空白,你需要将其末尾的空白剔除,再将结果存回到原来的变量中。在编程中,经常需要修改变量的值,再将新值存回到原来的变量中。这就是变量的值可能随程序的运行或用户输入数据而发生的原因。
当然,我们还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法lstrip()
和strip()
,具体如下:
favorite_language = 'python '
print(favorite_language.rstrip())
print(favorite_language.lstrip())
print(favorite_language.strip())
具体执行代码如下:
在这个示例中,我们首先创建了一个开头和末尾都有空白的字符串,接下来,我们分别删除末尾、开头和两端的空格。尝试使用这些剔除函数有助于你熟悉字符串操作。在实际程序中,这些剔除函数最常用于在存储用户输入前对其进行清理。
语法错误是一种时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。例如:再用单引号括起字符串中,如果包含撇号,就将会导致错误。这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引起错误,具体如下:
message = "One of Python's strength is its diverse commuinty."
print(message)
代码具体执行结果如下:
然而,如果你使用单引号,Python将无法正确的确定字符串的结束位置:
message = 'One of Python's strength is its diverse commuinty.'
print(message)
代码具体执行结果如下:
从上述输出可知,错误发生在第二个单引号后面。这种语法错误表明:在解释器看来,其中的有些内容不是有效的Python代码。错误的来源多种多样,这里指出一些常见的。我们在学习Python的代码时,可能会经常遇到错误。语法错误也是最不具体的错误类型,因此可能难以找出并修复。这里需要注意的是:我们在编写程序时,编辑器的语法突出功能可帮助你快速找出某些语法错误。看到Python代码以普通句子的颜色显示,或者普通的句子可以Python代码的颜色显示时,就可能意味着文件中存在引号不匹配情况。
我们在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储web应用信息等。Python根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单的,具体实现如下:
print(2+3)
print(3-2)
print(2*3)
print(3/2)
代码具体执行结果如下:
Python除了整数之外,还有带小数点都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样的一个事实:小数点可出现在数字的任何位置。每种编程语言都需细心设计,已妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。
在一定程度上,使用浮点数时无需考虑其行为。你只需要输入使用数字,Python通常都会按你期望的方式处理它们:
print(0.1+0.1)
print(2*0.1)
print(3*0.1)
代码具体执行结果如下:
所有语言都存在问题,没有什么可担心的。Python会尽力找到一种方式,以尽可能精确的表示结果,但鉴于计算机内部表示数字的方式,不过我们可以暂时忽略。
我们经常需要在消息中使用变量的值。具体如下:
age = 26
message = "Happy " + age + "rd Birthday!"
print(message)
代码具体执行结果如下:
竟然报错了,这是一个典型的类型错误,意味着Python无法识别你用的信息。在这个示例中,Python发现你使用了一个值为整型的变量,但他不知道该如何解释这个值。Python可以识别这个量可能是数值23,也可能是字符2和3、当我们遇到这种情况时,需要我们特别指明在Python中将这个整数作为字符串。为此可调用函数str(),它让Python将非字符串值表示为字符串:
age = 26
message = "Happy " + str(age) + "rd Birthday!"
print(message)
代码具体执行结果如下:
这里,我们就输出了正常的结果,这里我们用到的就是Python中的强制转化类型,将数字转换成字符型。大家在日后写代码的时候要特别的注意。
在大多数的编程语言中,注释都是一项很有用的功能。注释在任何一门编程语言都是必不可少的,有助于我们更好的理解别人的代码或者被别人理解。
在Python中,注释用(#)号作为注释的标识,#后面的内容都会被Python解释器忽略,具体如下:
# 向大家问好
print("Hello Python people!")
代码具体执行结果如下:
从上图可知,Python解释器将忽略第1行,只执行第2行。我们知道了怎么注释的时候,那么我们该写什么样的注释呢?在开发项目的时候,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能记不得了。当然了,你总是可以通过研究代码来确定各个部分的工作原理,但是通过编写注释,以清晰的自然语言对解决的方案进行概述,可节省很多时间。
我们要成为专业的程序员或与其他程序员合作,就必须编写有意义的注释,当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此,我们在写代码的时候最好添加描述性标注。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。
如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,那就不妨对自己的解决方案进行说明。
我们从上篇文章开始,给大家陆续介绍Python相关的基础知识,在上篇文章给大家介绍了Python的安装以及环境的搭建。本文给大家Python中的变量以及简单的数据类型。主要包括变量的定义,以及如何排除相应的错误,又介绍了字符串的详细使用方式,另外介绍了Python中的数字类型,包括整数和浮点数。最后介绍了Python中的注释。Python是一门注重实际操作的语言,它是众多编程语言中最简单,也是最好入门的。当你把这门语言学会了,再去学习java、go以及C语言就比较简单了。当然,Python也是一门热门语言,对于人工智能的实现有着很大的帮助,因此,值得大家花时间去学习。生命不息,奋斗不止,我们每天努力,好好学习,不断提高自己的能力,相信自己一定会学有所获。加油!!!