一、变量和简单数据类型
①变量的命名与使用:
-
变量的命名规则:
- 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打头。例如,可将变量命名为
message_1
,但不能将其命名为1_message
。 - 变量名不能包含空格,但能使用下划线来分隔其中的单词。例如,变量名
greeting_message
可行,但变量名greeting message
会引发错误。 - 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如
print
。 - 变量名应既简短又具有描述性。例如,
name
比n
好,student_name
比s_n
好,name_length
比length_of_persons_name
好。 - 慎用小写字母
l
和大写字母O
,因为它们可能被人错看成数字1
和0
。
- 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打头。例如,可将变量命名为
-
注意:就目前而言,应使用小写的Python变量名。虽然在变量名中使用大写字母不会导致错误,但是大写字母在变量名中有特殊含义。
②字符串:
-
字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。
'Hello' "World!"
-
在字符串中使用变量:
- 要在字符串中插入变量的值,可以在前引号前加上字符
f
,再将要插入的变量放在花括号中;这样当 P y t h o n Python Python显示字符串时,将每一个变量都替换为其值。 - 这种字符串被称为
f
字符串;f
是format
的简写。
first_name = "tom" last_name = "jerry" full_name = f"{ first_name} { last_name}" print(f"Hello,{ full_name.title()}!") # title以首字母大写方式显示单词 # output: # Hello,Tom Jerry!
注意:
f
字符串是 P y t h o n 3.6 Python 3.6 Python3.6引入的,更早的版本需要使用format()
方法实现上述功能,可以在圆括号中列出你要在字符串中使用的变量;对于每一个变量,都要通过一对花括号来引用,这样按顺序将这些花括号替换为圆括号中列出的变量的值。full_name = "{} {}".format(first_name,last_name)
- 要在字符串中插入变量的值,可以在前引号前加上字符
-
字符串中添加删除空白:
-
在编程中,
空白
泛指任何非打印字符,如:空格、制表符和换行符。 -
添加空白:
- 添加制表符,使用字符组合
\t
。
print("Python\tJava") # output: # Python Java
- 添加换行符,使用字符组合
\n
。
print("Python\nJava") # output: # Python # Java
- 你要是愿意的话,也可以混合使用,如
\t\n
……。
- 添加制表符,使用字符组合
-
删除空白:
- 删除字符串头部的空白
string = " Hello " print(string) print(string.lstrip()) # output: # Hello # Hello
- 删除字符串尾部的空白
string = " Hello " print(string) print(string.rstrip()) # output: # Hello # Hello
- 删除字符串两端的空白
string = " Hello " print(string) print(string.strip()) # output: # Hello # Hello
注意:这种删除只是临时的,要想“根本上”的改变,就要把这个结果作用回变量本身上。
string = " Hello" print(string) print(string.lstrip()) print(string) # 变量本身的值并没有得到变化 string = string.lstrip() # 通过赋值回变量本身,将lstrip方法作用的效果保留下来 print(string) # output: # Hello # Hello # Hello # Hello
-
③简单数据类型:
-
整数:
- 在 P y t h o n Python Python中,可以对整数执行加(+)、减(-)、乘(*)、除(/)运算操作。
data = 1 + 2 print(data) data = 2 - 1 print(data) data = 2 * 3 print(data) data = 3 / 2 print(data) # output: # 3 # 1 # 6 # 1.5
- 使用
**
表示乘方运算。
data = 10 ** 2 print(data) # output: # 100
- 当算式中有多个运算符号时,可以使用圆括号来控制运算次序。
data = 10 * (2+1) print(data) # output: # 30
-
浮点数:
- Python将所有带小数点的数称为浮点数 。
data = .8 print(data) data = 0.1+0.1 print(data) data = 0.1*0.1 print(data) data = 0.2 / 2 print(data) data = 0.2 ** 2 print(data) # output: # 0.8 # 0.2 # 0.010000000000000002 # 0.1 # 0.04000000000000001
从上面的运算,我们也可以看出,浮点数包含小数的位数可能是不确定的。
-
整数与浮点数一起运算:
- 在任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数。
data = 0.8 + 1 print(data) data = 1.2 - 1 print(data) data = 2 * 0.3 print(data) data = 2 / 0.5 print(data) data = 0.2 ** 2 print(data) # output: # 1.8 # 0.19999999999999996 # 0.6 # 4.0 # 0.04000000000000001
-
数据中的下划线:
- 书写很大的数时,可以使用下划线将其中的数字进行分组,可以更加清晰易读。
data = 100_000_000 print(data) # 当你打印这种使用下划线定义的数时,Python不会打印其中的下划线。 # output: # 100000000
Python
在存储这种数时间,会自动忽略下划线,所以即便不是三位一组进行划分也可以,1000_00
、100_000
、1_00000
是一样的;这种表示方法适用于整数和浮点数,但是只有 P y t h o n 3.6 Python 3.6 Python3.6以及更高的版本可以这样用。 -
同时给多个变量赋值:
- 可以在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性;这种做法最常见于将一系列数赋给一组变量。
x, y, z = 1, 2, 3 print(x + y + z) # output: # 6
赋值的变量以及被赋予的值,要一一对应上。
④常量:
-
类似于变量,但其值在程序的整个生命周期内保持不变; P y t h o n Python Python没有内置的常量类型,但是 P y t h o n Python Python程序员会使用全大写来指出应当将某一个变量视为常量,其值应当保持不变。
MAX_CONNECTIONS = 5000
因此在代码中,想要一个常量的话,“抓”一个变量,将其变量名全大写就可以了。
⑤注释:
-
P y t h o n Python Python中的注释,使用
#
进行标识,一次注释一行。# 你好,世界! print("Hello World!"); # output: # Hello World!
二、列表:
①什么是列表?
-
列表是由于一系列特定顺序排列的元素组成;你可以将任何东西加入到列表中,其中的元素可以没有任何关系。
-
在 P y t h o n Python Python中,使用方括号
[]
表示列表,并使用逗号分隔其中的元素。names = ["Tom", "Jerry", "Bob"] print(names) # output: # ['Tom', 'Jerry', 'Bob']
-
访问列表元素:
- 访问列表元素,可以先指出列表的名称,再指出元素的索引,并将后者放到方括号中。
names = ["Tom", "Jerry", "Bob"] print(names[1]) # output: # Jerry
-
注意:
- 索引从
0
开始,而不是从1
开始。 - 可以通过索引指定为
-1
,可以让 P y t h o n Python Python返回最后一个列表元素。索引-2
返回倒数第二个元素,以此类推……(相当于倒数访问)
names = ["Tom", "Jerry", "Bob"] print(names[-1]) # output: # Bob
- 索引从
-
列表元素在使用时,就像其他的变量一样使用:
names = ["Tom", "Jerry", "Bob"] print(names) names[1] = 'WYW' # 通过类似于变量赋值操作修改列表元素的值 print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'WYW', 'Bob']
②修改、添加和删除列表元素:
-
修改列表元素:
names = ["Tom", "Jerry", "Bob"] print(names) names[1] = 'WYW' # 通过赋值修改列表元素的值 print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'WYW', 'Bob']
通过指定列表名和修改元素的索引来确定要修改的列表元素,再通过赋值修改其值。
-
在列表中添加元素:
-
在列表末尾添加元素
append()
:names = ["Tom", "Jerry", "Bob"] print(names) names.append('YiWen Wan') print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'Jerry', 'Bob', 'YiWen Wan']
-
在列表中插入元素
insert()
:names = ["Tom", "Jerry", "Bob"] print(names) names.insert(1, 'YiWen Wan') print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'YiWen Wan', 'Jerry', 'Bob']
-
-
从列表中删除元素:
-
删除指定位置的元素
del
:names = ["Tom", "Jerry", "Bob"] print(names) del names[0] print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Jerry', 'Bob']
-
删除列表末尾的元素
pop
:names = ["Tom", "Jerry", "Bob"] print(names) data = names.pop() # pop是有返回值的,就是被弹出的元素值 print(names) print(data) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'Jerry'] # Bob
-
删除指定位置的元素
pop
:names = ["Tom", "Jerry", "Bob"] print(names) data = names.pop(0) # pop是有返回值的,就是被弹出的元素值 print(names) print(data) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'Jerry'] # Bob
pop
和del
的区别就在于,删除的元素你是否还需要接收使用。 -
根据值删除元素
remove
:names = ["Tom", "Jerry", "Bob"] print(names) names.remove('Bob') print(names) # output: # ['Tom', 'Jerry', 'Bob'] # ['Tom', 'Jerry']
注意:当列表中有多个值相等的元素时,
remove
只删除第一个和指定值相等的元素,这个时候就要借助循环来确保每一个值都被删除了。
-
③组织列表:
-
使用
sort
对列表进行永久排序:names = ["Tom", "Jerry", "Bob", "Ann"] print(names) names.sort() # 升序排序 print(names) # output: # ['Tom', 'Jerry', 'Bob', 'Ann'] # ['Ann', 'Bob', 'Jerry', 'Tom']
sort
方法还可以接收一个参数reverse
,当传入reverse=true
时,将进行降序排序。
names = ["Jerry", "Tom", "Bob", "Ann"] print(names) names.sort(reverse=True) # 降序排序 print(names) # output: # ['Jerry', 'Tom', 'Bob', 'Ann'] # ['Tom', 'Jerry', 'Bob', 'Ann']
-
使用
sorted
对列表进行临时排序:names = ["Jerry", "Tom", "Bob", "Ann"] print(names) print(sorted(names)) print(names) # 前后并没有改变 # output: # ['Jerry', 'Tom', 'Bob', 'Ann'] # ['Ann', 'Bob', 'Jerry', 'Tom'] # ['Jerry', 'Tom', 'Bob', 'Ann']
- 同
sort
方法一样,sorted
方法也可以接收一个参数reverse
,当传入reverse=true
时,将进行降序排序。
names = ["Jerry", "Tom", "Bob", "Ann"] print(names) print(sorted(names, reverse=True)) print(names) # 前后并没有改变 # output: # ['Jerry', 'Tom', 'Bob', 'Ann'] # ['Tom', 'Jerry', 'Bob', 'Ann'] # ['Jerry', 'Tom', 'Bob', 'Ann']
- 同
-
反转列表元素
reverse
:names = ["Jerry", "T