第2章 变量和简单数据类型
2.2 变量
1.变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_mesaage可行,但变量名greeting message会引发错误。
3.不要讲Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
4.变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_name好。
5.慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
注意
:就目前而言,应使用小写的python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。
2.3 字符串
2.3.1 使用方法修改字符串的大小写
1.在Python中,用引号括起来的都是字符串,其中的引号可以是单引号,也可以是双引号。
注意
:如果在字符串中还有引号,要与最外面的引号区分开来。例如,在用单引号扩起的字符串中,如果包含撇号,就将导致错误。
2.修改字符串大小写的方法(方法是Python可对数据执行的操作。在name.title()中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。
):
name.title() ---> 将字符串的首字母大写
name.upper() ---> 将字符串的所有字母大写
name.lower() ---> 将字符串的所有字母小写(存储数据时用)
2.3.2 合并(拼接)字符串
1.Python使用加号(+)来合并字符串。
注意
:(+)号的两边的数据类型必须相同,例如:int/float + int/float , str + str
2.3.3 使用制表符或换行符来添加空白
1.在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。
2.要在字符串中添加制表符,可使用字符组合\t。
>>>print("Python") >>>print("\tPython")
Python ------------> Python
制表符的写法是\t,作用是对齐表格的各列。
print("学号\t姓名\t语文\t数学\t英语")
print("2017001\t曹操\t99\t\t88\t\t0")
print("2017002\t周瑜\t92\t\t45\t\t93")
print("2017008\t黄盖\t77\t\t82\t\t100")
学号 姓名 语文 数学 英语
2017001 曹操 99 88 90
2017002 周瑜 92 45 93
2017008 黄盖 70 82 100
3.要在字符串中添加换行符,可使用字符组合\n。
>>>print("Languages:\nPython\nC\nJavaScript")
Language:
Python
C
JaveScript
2.3.4 删除空白
1.可以使用方法.strip()进行删除字符串中的空白。
注意
:字符串中的空白删除需要引用函数replace或split,还有正则表达式
.rstrip() ---> 删除末尾的空白
.lstrip() ---> 删除开头的空白
.strip() ---> 删除两端的空白
>>> a = 'hello world'
>>> a.replace(' ', '')
'helloworld'
>>> a = ''.join(a.split()
>>> print(a)
'helloworld'
2.3.5 使用字符串时避免语法错误
1.看到Python代码以普通句子的颜色显示,或者普通句子以Python代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。
2.4 数字
1.使用除运算得到的结果为浮点数。
2.从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们。但需要注意的是,结果包含的小数位数可能是不确定的:
3.无论加减乘除,如果等号左边出现了浮点数,那么右边的结果也将是浮点数。
>>>0.2+0.1
0.30000000000000000004
>>>3*0.1
0.30000000000000000004
2.5 注释
1.作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。
2.参考Python之禅
第3章 列表简介
3.1 列表是什么
1.列表是由一系列按特定顺序排列的元素组成。
2.列表、字典、集合、元组都是容器型数据类型。
3.1.3 使用列表中的各个值
1.使用函数时要注意元素的数据类型,例如:.函数title(),列表中的元素是字符串时才可使用
3.2 修改、添加和删除元素
1.你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
3.2.1 修改列表元素
1.要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
>>>list = [24,12,33,11,99]
>>>list[2] = 88
>>>print(list)
[24,12,88,11,99]
3.2.2 在列表中添加元素
1.在列表末尾添加元素
>>>list.append(112)
[24,12,88,11,99,112]
2.在列表中插入元素,方法insert()在索引0处添加空间,并将值存储到这个地方,且列表中既有的每个元素向右移一个位置。
>>>list.insert(0,73)
[73,24,12,88,11,99,112]
3.2.3 从表别中删除元素
注意
:列表中的元素被删除后,列表既有元素的索引被改变,且在遍历列表时,被删除过的元素其索引将不会再被遍历。见例题。
1.使用del语句
删除元素(如果知道要删除的元素在列表中的位置,可使用del语句,无法使用该元素)
words = ["a","b","c","d"]
>>>del words[1]
["a","c","d"]
2.使用方法
pop()删除末尾的元素(删除该元素并且可以使用该元素)
>>>words.pop()
["a","c"]
3.使用方法
pop()删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引。
>>>words.pop(0)
["c"]
注意
:判断标准:如果要从列表中删除一个元素,且不再以任何方式使用它,就是用del语句;如果要在删除元素后还能继续使用它,就使用方法pop(),del语句和pop()方法是通过索引删除元素。
4.根据值删除元素
1.在只知道要删除的元素的值时,可使用方法
remove()。
2.使用remove()从列表中删除元素时,也可接着使用它的值。
注意
:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。例如:
list = [1,2,3,1,1,4,1,5]
num = 1
sum = 0
for i in list:
if num == i:
# sum += 1
list.remove(i)
# list.remove(i)
# sum += 1
print(sum,list)
输出为:
[2,3,4,1,5]
3.3.1 使用方法sort()对列表进行永久性排序
1.注意
:使用sort()和sorted()进行排序时,顺序都是按照字母顺序排列的,且大写优先于小写,当第一个字母相同时,就比较第二个字母,以此类推。
2.方法sort()对列表进行永久性排序,改变既有列表顺序;方法sorted()对列表进行临时排序,不改变既有列表顺序,相当于生成了一个新的列表。
3.如果要按与字母顺序相反的顺序排列列表元素,只需向sort()方法或sorted()方法传递参数reverse = True。如:sort(reverse = True)
如何使用参数reverse = True:
print(sorted(cars,reverse = True))
3.3.3 倒着打印列表
1.要反转列表元素的排列顺序,可使用方法reverse()。
2.注意
:方法reverse()不是指按与字母顺序相仿的顺序排列列表元素,而只是反转列表元素的排列顺序。
3.方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此,只需对列表再次调用reverse()即可。
3.4 使用列表时避免索引错误
注意
:当列表为空时,list[0]或list[-1]都会报错。
发生索引错误却找不到解决方法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。