Python是一种非常简单的语言,最简单的语句就是print,使用print语句可以打印出一系列结果。另外,Python要求严格的代码缩进,以Tab键或者4个空格进行缩进,代码按照结构严格缩进,例如:
如果需要注释某行代码,可以在代码前面加上“#”,例如:
在Python中,解释器表现得就像一个简单的计算器:可以向其输入一些表达式,它会给出返回值。表达式语法很直白:运算符+,-,*和/与其他语言一样(例如Pascal或C);括号(())用于分组。例如:
整数(例如,2,4,20)的类型是int,带有小数部分的数字(例如,5.0,1.6)的类型是float。除法“/”返回的永远是一个浮点数。如要使用floor除法并且得到整数结果(丢掉任何小数部分),可以使用“//”运算符;要计算余数可以使用“%”运算符,如:
通过Python,还可以使用**运算符计算幂乘方:
等号('=')用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示:
变量在使用前必须“定义”(赋值),否则会出错:
浮点数有完整的支持。在整数和浮点数的混合运算中,整数会被转换为浮点数,如:
>>> 3*3.78/1.5 7.56 >>> 7.0/2 3.5
交互模式中,将最近一个表达式的值赋给变量_。这样我们就可以把它当作一个桌面计算器,用于连续计算,例如:
>>> t=13.5/100 >>> price=98.5 >>> price*t 13.297500000000001 >>> price+_ 111.7975 >>> round(_,2) 111.8
此变量对于用户是只读的。不要尝试给它赋值,它只会创建一个独立的同名局部变量,并屏蔽系统内置变量的效果。除了int和float,Python还支持其他数字类型,例如decimal和fraction。Python还支持复数,使用后缀j或J表示虚数部分(例如,3+5j)。
下面来尝试在hello_world.py中执行以下语句:
运行程序,输出如下:
Hello Python!!
此处添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在此,存储的值为文本“Hello Python!!”。
下面进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加下面两行代码:
运行程序,输出如下:
Hello World!! Hello Python Crash Course World!!
在程序中我们可随时修改变量的值,而Python将始终记录变量的最新值。
在Python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在使编写的代码更容易阅读和理解。变量有关的规则有:
· 变量名只能包含字母、数字和下画线。变量名可以字母或下画线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。
· 变量名不能包含空格,但可使用下画线来分隔其中的单词。例如,变量名gr_message可行,但变量名gr message会引发错误。
· 不要将Python关键字和函数名作为变量名,即不要使用Python保留用于特殊用途的单词作为变量名,如print。
· 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
· 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着编写的程序越来越多,并开始阅读别人编写的代码,我们将越来越善于创建有意义的变量名。
技巧:就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但小写字母更易于他人阅读,避免使用大写字母是个不错的主意。
1)单个变量赋值
Python中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识、名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号运算符左边是一个变量名,等号运算符右边是存储在变量中的值。例如:
以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。运行程序,输出如下:
100 1000.0 John
2)多个变量赋值
Python允许同时为多个变量赋值。例如:
a=b=c=1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。也可以为多个对象指定多个变量。例如:
a,b,c=1,2,"j ohn"
以上实例,两个整型对象1和2分配给变量a和b,字符串对象"john"分配给变量c。
程序员一般都会犯错,而且大多数程序员每天都会犯错。虽然优秀的程序员也会犯错,但他们知道如何高效地消除错误。下面来看一种大家可能经常会犯的错误,并学习如何消除它。
我们将有意编写一些引发错误的代码。输入以下代码,包括拼写不正确的单词message:
message="Hello Python Crash Courser eader!" print(mesage)
程序存在错误时,Python解释器将竭尽所能地帮助找出问题所在。程序无法成功地运行时,解释器会提供一个Traceback。Traceback是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。下面是不小心拼写了变量名时,Python解释器提供的Traceback:
解释器提出,文件hello_world.py的第2行存在错误;它列出了这行代码,旨在帮助我们快速找出错误;它还提出了这是什么样的错误。在此,解释器发现了一个名称错误,并指出打印的变量message未定义:Python无法识别提供的变量名。名称错误通常意味着两种情况:要么是使用变量前忘记给它赋值了,要么是输入变量名里拼写不正确。
在这个实例中,第2行的变量名message中遗漏了字母s。Python解释器不会对代码做拼写检查,但要求变量名的拼写一致。如果在代码的另一个地方也将message错误地拼写成mesage,结果将如何呢?
mesage="Hello Python Crash Courser eader!" print(mesage)
在这种情况下,程序将成功地运行:
Hello Pyt hon Crash Cour sereader!
计算机一丝不苟,但不关心拼写是否正确。因此,创建变量名和编写代码时,我们无须考虑英语中的拼写和语法规则。
运算符是可以操纵操作数的结构。如一个表达式:10+20=30。这里,10和20称为操作数,+则被称为运算符。
Python语言支持以下类型的运算符:
· 算术运算符
· 比较(关系)运算符
· 赋值运算符
· 位运算符
· 逻辑运算符
· 成员运算符
· 身份运算符
下面来看看Python的所有运算符。
假设变量 a 的值是10,变量 b 的值是21,则表1-1列出了算术运算符规则。
表1-1 算术运算符规则
【例1-1】 Python的算术运算。
a=21 b=10 c=0 c=a+ b print("1-c的值为:",c) c=a-b print("2-c的值为:",c) c=a*b print("3-c的值为:",c) c=a/b print("4- c的值为:",c) c=a% b print("5-c的值为:",c) #修改变量a、b、c a=2 b=3 c=a**b print("6-c的值为:",c) a=10 b=5 c=a//b print("7-c的值为:",c)
运行程序,输出如下:
1-c的值为:31 2-c的值为:11 3-c的值为:210 4-c的值为:2.1 5-c的值为:1 6-c的值为:8 7-c的值为:2
表1-2是假设变量 a 为8,变量 b 为17的比较效果。
表1-2 比较运算符规则
【例1-2】 Python的比较运算。
运行程序,输出如下:
5-a小于或等于b 6-b大于或等于a
表1-3是假设变量 a 为8,变量 b 为17的赋值效果。
表1-3 赋值运算符规则
【例1-3】 Python的赋值运算操作。
a=8 b=17 c=0 c=a+ b print("1-c的值为:",c) c+=a print("2-c的值为:",c) c*= a print("3-c的值为:",c) c/=a print("4-c的值为:",c) c=2 c%=a print("5-c的值为:",c) c**=a print("6-c的值为:",c) c//=a print("7-c的值为:",c)
运行程序,输出如下:
输出结果为: 1-c的值为:25 2-c的值为:33 3-c的值为:264 4-c的值为:33.0 5-c的值为:2 6-c的值为:256 7-c的值为:32
位运算符是把数字看作二进制数来进行计算的。Python中的位运算法则如下:
表1-4中变量 a 为60, b 为13的二进制格式如下:
a=0011 1100 b=0000 1101 ----------------- a&b=0000 1100 a|b=0011 1101 a^b=0011 0001 ~a = 1100 0011
表1-4 位运算符规则
【例1-4】 Python的位运算。
运行程序,输出如下:
1-c的值为:12 2-c的值为:61 3-c的值为:49 4-c的值为:-61 5-c的值为:240 6-c的值为:15
Python语言支持逻辑运算符,表1-5为假设变量 a 为8, b 为16进行运算的结果。
表1-5 逻辑运算符规则
【例1-5】 Python的逻辑运算实例。
运行程序,输出如下:
1-c的值为:12 2-c的值为:61 3-c的值为:49 4-c的值为:-61 5-c的值为:240 6-c的值为:15
除了以上运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串、列表或元组,如表1-6所列。
表1-6 成员运算符规则
【例1-6】 Python的成员运算实例。
运行程序,输出如下:
1-变量a不在给定的列表list中 2-变量b不在给定的列表list中 3-变量a在给定的列表list中
身份运算符用于比较两个对象的存储单元,如表1-7所列。
表1-7 身份运算符规则
【例1-7】 身份运算实例。
运行程序,输出如下:
1-a和b有相同的标识 2-a和b有相同的标识 3-a和b没有相同的标识 4-a和b没有相同的标识
提示 :is与==的区别主要表现在,is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等。