入门
变量
- 只能包含字母、数字、下划线。数字不能打头,eg.message_1
- 不能有空格,用下划线将俩单词分隔开,eg.greeting_message
- 关键词和函数名不能作变量
- 变量名应简短且有描述性,eg.name比n好,student_name比s_n好,name_length比langth_of_person_name好
- 慎用小写l和大写O,易看错成1和0
- 避免使用大写字母
- 使用变量避免命名错误,即变量名拼写要一致;若出现错误,解释器会出现“traceback”的记录,会指出运行此代码后出现了什么错误
- 可同时定义多个变量,变量1,变量2,...,变量n=值1,值2,...,值n,eg.name,age='张三',18
数据类型:
Number(数字),String(字符串),List(列表),Tuple(元组),Set(集合),Dictonary(字典)
字符串
用引号括起的,可用单引号和双引号,name="字符串",再使用函数可对字符串进行修改,print(name.函数)
可用+来合并(拼接)字符串,但需要先对字符串进行命名(以first_name,last_name来区分)
也可以用f字符串:
first_name='ada'
last_name='lovelace'
full_name=f'{first_name} {last_name}'
print(full_name)
制表符\t
换行符\n
删除空白用函数
使用字符串时避免出现语法错误:常见错误为单引号内字符串中包含撇号(英文符号)
函数
int():整数函数,字符串转整数
float():浮点数,字符串转成浮点数
title():以首字母大写方式显示每个单词
upper():将字符串改为全部大写
lower():将字符串改为全部小写
strip():删除两端空白
rstrip():删除开头空白
lstrip():删除末尾空白
str():将非字符串值表示为字符串(即excel里的数字文本化)在串联字符串时应注意英语句子之间的空格需要保留在字符串中间
append('xx'):在列表末尾添加元素
insert(0,'xx'):在列表第1位前插入元素
pop():删除列表中任意元素
sort():按字母表顺序永久排序列表顺序
sorted():按字母表顺序临时排序
sort(reverse=True):按字母表反向顺序排序
reverse():永久反转列表元素的排列顺序
range():生成一系列数字
数字
数字类型:int(整型)、float(浮点型)、complex(复数类型)
整型:十进制(不加任何前缀),八进制(加前缀0o),十六进制(加前缀0x),eg.a,b,c=10,0o10,0x10→a=10,b=8,c=16
加(+)减(-)乘(*)除(/)乘方(**,eg.3**2为9),还支持运算次序,即现算括号内再算括号外
浮点数(带小数点的数字)
注释
阐述代码要做什么及如何做:#xxx
Beautiful is better than ugly.
Simple is better than complex.
Complex is better than complicated
Readability counts.
There should be one--and preferably only one--obvious way to do it.
Now is better than never.
列表
列表即一个集合,用方括号[ ]表示,其中元素用逗号分隔开。选取列表中元素时索引从0开始,即从左到右的第一个元素是0,而从右到左是从-1开始
修改列表元素
找到要修改的元素(eg.[0])对其重新定义,再print列表
添加列表元素
运用append()函数
插入列表元素
运用insert()函数
删除列表元素
- 知道要删除元素的位置,可用del 语句:del names[1]
- 删除元素并使用其值,可用pop()函数:popped_name=names.pop() print(names) print(popped_name) 【pop()函数括号内为空时,默认删除最后一个,还可删除任意位置的元素,在括号内指定删除元素索引即可】
- 不知道待删除元素的位置、仅知道其值时,用remove()函数,此函数一次只删除一个指定的值:先定义要删除的元素的变量,再重新对列表赋(删除后的)值names.remove(新变量)
列表元素排序
使用sort()函数对列表永久排序;sort(reverse=True)函数是按与字母顺序相反的顺序排列,也是永久性的。英文按字母表顺序,中文按拼音表顺序。
使用sorted()函数对列表临时排序,再打印原列表时顺序一如之前。
使用reverse()函数反转列表顺序,再次调用此函数可回转原顺序。
列表长度
使用len()函数快速获悉列表长度
遍历整个列表
for循环:
for name in names:
print(name)
magicians=['alice','david','carolina']
for magician in magicians:
print(magician.title()+",that was a great trick ! ")
print("I can't wait to see your next trick , "+magician.title()+".\n")
print("Thank you , everyone . That was a great magic show ! ")
Alice, that was a great trick !
I can't wait to see your next trick , Alice.
David , that was a great trick !
I can't wait to see your next trick , David.
Carolina , that was a great trick !
I can't wait to see your next trick , Carolina.
Thank you , everyone . That was a great magic show !
记得缩进和未缩进带来的差别,以及别忘了for语句的冒号
创建数值列表
for value in range(1,5):
print(value)
注:这条代码只能打印1-4,使用 range() 时,如果输出不符合预期,请尝试将指定的值加 1 或减 1 。
可使用list()将range()的结果直接转为列表:
numbers=list(range(1,6))
print(numbers)
→
[1,2,3,4,5]
可用range()指定步长:
even_numbers=list(range(2,11,2))
print(even_numbers)
→
[2,4,6,8,10]
平方列表:
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
对数字列表进行简单统计计算:最大值、最小值和总和
切片——处理列表部分元素
用[0:3]等选取列表中的部分元素
元组(Tuple)
不能变的值成为不可变,不可变元素的列表成为元组,用()
元素用圆括号标识而非方括号,定义元组后,可使用索引来访问其元素,使用元组是要确保元素不能修改。相比于列表,元组是更简单的数据结构,如果要存储的一组值在程序的整个生命周期内都不变。
dimensions=(200,50)
for dimension in dimensions:
print(dimension)
字符串、列表和元组的元素都是按下标序排列,可通过下标直接访问,这样的数据类型统称为序列。
其中,字符串和元组中的元素不能修改,而列表中的元素可以修改。
集合(Set)
与元组和列表类似,集合中同样可以包含多个不同类型的元素,但集合中的各元素无序、不允许有相同元素且元素不许是可哈希对象(数值、字符串)。可直接用{},也可用set函数:set([iterable])或b=set(‘hello’)→print(b)→{‘e’,‘l’,‘o’,‘h’}
可哈希对象指拥有_hash_(self)内置函数的对象,列表、元素、集合和字典类型的数据不是可哈希对象,所以它们不能作为集合中的元素。
与字符串、列表、元组等序列类型不同,集合中的元素不能使用下标方式访问。
集合主要用于做并、交、差等集合运算,以及基于集合进行元素的快速检索。
{}用于创建空字典,如果要创建一个空集合,则需要使用setO
设置代码格式
每级缩进都使用四个空格
制表符和空格混用问题(4.6.2)
如何配置文本编辑器:在附录B