(感谢各位读者的关注,您的关注是我更新的最大动力!)
一、变量声明
Python的变量命名比较随和,不同于其他一些语言只支持英文字母、阿拉伯数字和下划线,你可以使用中文汉字、日文等作为变量名,当然一些符号如“,”、“ ’ ”等还是得用英文符号。a = 1他 = 1print(a == 他)# 输出:True
不过,使用中文变量编写代码,变量名和符号间来回的中英文符号切换也挺麻烦。因此,个人比较推荐使用英文字母变量名。
上述代码中,“print()”是一个Python的内置函数,用于输出显示括号里的内容;“#”后面的内容则为代码注释,用来标注此处代码的作用或者你想表达的内容,Python解释器会直接跳过这些内容不参与代码执行,“#”只能标记一行注释,多行注释每一行的注释前都必须有“#”,也可以使用三个英文引号(单引号或双引号)来直接包裹多行注释。
Python支持的变量名的格式与其他大多数语言一样,仅支持符号(如英文字母,甚至可以是汉字)、数字、下划线,且数字不能作为变量名的收字符,如:
a = 0.5_number = 1他 = "男"i_love_u = True1p2q = ["p", "q"] # 不合规变量名
注意,如Python、C、C++、Java等高级语言来说,“=”表示的是赋值,即把“=”右侧的内容存放在左侧的变量名中。如果表示数学上的等于,则通常使用“==”,两个等号来表示。
二、基本数据类型
在系统解释运行Python代码时,会记录下变量的名称及其类型,这个类型用于标记此变量存储了一个什么品种的内容,是数字还是一串文字(编程中通常将这样的文字成为字符串)等等。这个类型能够帮助程序在后续的计算过程中去识别代码逻辑是否有问题,如:
由于 a 为数字,b 为字符串,按照逻辑来说,数字和文字是不能做加法运算的,因此在执行第三行代码时,程序就会抛出错误,说明运算无法成立。
常见的Python数据类型主要有:
int:表示一个整数
float:表示一个小数,计算机领域也叫浮点数
complex:表示复数,使用字母“j”来表示数字的虚部。
bool:表示布尔值,即真(True)或假(False)
str:表示一个文字序列,即字符串,用英文双引号或单引号包裹
list:列表,或者说数组、数列,可以存任意类型的变量,且大小可以动态变化
tuple:元组,可以简单理解为list的特殊版,其大小在声明后就不可改变
dict:字典,存储键值对,值可以是任意类型,键则具有一定约束,必须是不可变的数据类型,如整数、字符串、元组等。
set:集合,与元组相同的是能够填入不同类型的数据以及大小动态变化,不同的则是其中的数据不可重复,如无法同时存在两个整数1。
(1)int和float
数字是编程中常见的数据类型,但是需要注意,大多数语言对整数和小数(浮点数)做了明显区分,因为计算机以二进制数存储信息,对整数和小数的二进制表示方法不同,Python中使用int和float来对二者进行区分。
但这并不是说在编写代码时,整数和小数不能相互运算,程序通常会将整数转换为浮点数后,再与另一个浮点数做计算,因此得到的结果通常也是浮点数。
a = 1b = 2.0print(a + b) # 输出:3.0print(type(a + b)) # type 函数用于查看变量的类型 # 输出:<class 'float'>
输出的“class”在后续内容会介绍,只需看到输出了“float”,说明“a+b”的计算结果为浮点数。
在声明int,可以使用字符0x和0b来表示十六进制和二进制;在声明float时,还可以使用e来实现声明科学计数:
number_2 = 0b1101001010 # = 422number_16 = 0x2A5 # = 685number_a = 1.5e03 # = 1500.0number_b = 1.5e-3 # = 0.0015
Python支持的数字计算比较丰富,除了基本加、减、乘、除外,还支持取余数(“%”)、幂运算(“**”)、整除(“//”)等:
print(26 / 5) # Output: 5.2print(26 % 5) # Output: 1print(26 // 5) # Output: 5print(26 ** 5) # Output: 1410569765625
需要注意,和数学一样,做除法时除数不为0。当被除数为整数时,Python会对其进行浮点数转化,从而避免如C/C++等语言在做“1 / 2”计算时,得到结果为“0”的情况(这类语言通常会忽略整数除法后的小数或余数)。
(2)bool
布尔值在编程中是十分重要的,尤其是在做条件判断时,如果没有布尔值用于判断真假是非,则程序的运行就很难做到多样化和个性化。布尔值基本在所有编程语言中都会使用到,只是有些语言对其数据类型的命名方式有所不同,例如Java语言中布尔值的命名就是boolean(我一般念bling)。
布尔值只有True和False(有的语言中首字母是小写),且遵从基本的逻辑运算(“and”、“or”、“not”表示“与”、“或”、“非”):
print(True and True) # Trueprint(True and False) # Falseprint(True or True) # Trueprint(True or False) # Trueprint(not True) # Falseprint(not False) # Trueprint((not False) and False) # False
布尔值可以直接赋给某个变量,也可以通过计算得到,如比较、函数返回值等。比较则为大于、小于、等于、不等于,其中等于使用双等号“==”,不等于使用英文感叹号和等号“!=”:
print(2 > 1) # Trueprint(0.5 > 0.99) # Falseprint(3 == 3) # Trueprint(3 != 3) # False
布尔值可以参与数字的计算,因为通常True被视为1,False为0,因此在计算时程序只需对布尔值做数据类型转换即可:
print(True and 1) # 1print(True + 1) # 2print(True * 2) # 2print(True / 2) # 0.5
(3)str
str其实是英文单词“string”的缩简表示,这个单词的意思有“串、弦”等,在编程中,我们通常称为或者说译为“字符串”。这里需要特别说明一下,字符一般指的是能在编辑器中键盘打出来的文字,数字、英文字母、汉字、日韩语符号等等,都是字符。在Python中,字符串是由英文状态的一个或三个双引号、单引号包裹表示,注意被包裹起来的空格也是字符:
str_1 = 'hello, world!'str_2 = "这是一个字符串"str_3 = '''This is a \n multiline string.'''str_4 = """这是一个有tab的字符串\t"""str_5 = """this is line 1 ...this is line 2..."""
上述内容中的\n和\t分别表示换行和按下TAB键产生的制表符。使用单个引号时,字符串的内容不能换行续写,只有使用三个引号才可以。
str同样支持诸如加、乘的运算,只是与数字的计算不同,加是把两个或多个字符串组合,乘号则起到复制相同字符串的作用:
print("hel" + "lo") # helloprint("123" * 3) # 123123123