以下文档皆按python 3版本测试执行
常用知识
一定要注意缩进问题
# 查看版本信息
python
基本
数据类型
非同类型一起操作需要注意类型错误
字符串
name = 'aa bb'
# 首字母大写
name.title() # 'Aa Bb'
# 大写
name.upper() # 'AA BB'
# 小写
name.lower() # 'aa bb'
message = ' test '
# 清除所有空格
message.strip() # 'test '
# 清除左边空格
message.lstrip() # 'test '
# 清除右边空格
message.rstrip() # ' test'
数字
整数
浮点数
需要注意的是,浮点数相加,结果不一定准确,比如0.1 + 0.2
,得到的结果是0.30000000000000004
列表
用[]
来表示,比如names = ['Alan', 'Bob', 'Candy']
,索引从0开始,并且支持负数,比如names[0]
打印'Alan'
,names[-1]
打印'Candy'
,以names
为例:
- 在列表末尾添加元素:
names.append('Dance')
# ['Alan', 'Bob', 'Candy', 'Dance'] - 在列表中插入元素:
names.insert(1, 'Baby')
# ['Alan', 'Baby', 'Bob', 'Candy', 'Dance'] - 从列表中删除元素:
del names[2]
# ['Alan', 'Baby', 'Candy', 'Dance'] - 使用方法pop()删除元素:
names.pop()
,执行该语句,将会返回被删除的元素'Dance'
,打印names
为['Alan', 'Baby', 'Candy']
,该方法也接受索引参数,比如names.pop(1)
,返回'Baby'
,打印names
为['Alan', 'Candy']
- 根据值删除元素:
names.remove('Alan')
,打印names
为['Candy']
,该方法仅删除第一个对应值的元素 - sort()
:按字母顺序排序,接受一个参数
reverse = True,与按字母顺序排序相反,影响原数组
sorted()
:不影响原数组,与sort()
结果一致reverse()
:反转列表排列顺序len()
:获取列表长度
列表操作
-
遍历整个列表
pythonnames = ['Alan', 'Bob', 'Candy'] for name in names: print(name) # 输出结果如下 Alan Bob Candy
12345678 -
创建数字列表——range
range方法,并不能直接赋值给变量,比如
numbers = range(2, 6)
,打印numbers
显示range(2, 6)
,我们需要使用list()
方法创建列表,numbers = list(range(2, 6))
,打印numbers
显示[2, 3, 4, 5]
python# 含头不含尾 for num in range(1, 5): print(num) # 输出如下 1 2 3 4
123456789简单的方法有,
min
:寻找数字列表中的最小值max
:寻找数字列表中的最大值sum
:计算数字列表的总和
-
创建数字列表——列表解析
pythonsquares = [num**2 for num in range(1, 11)] print(squares) # 输出结果如下 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
12345 -
列表切片
有一个列表
names = ['charles', 'martina', 'michael', 'florence', 'eli']
,我们只需要前面3个元素,可以这样names[:3]
,结果为['charles', 'martina', 'michael']
,如果是需要第2~4个元素,则是names[1:4]
,如果要选择后3个元素,则是names[2:]
,如果列表长度未知,可以使用负数选择,names[-3:]
-
列表复制
有一个列表
names = ['charles', 'martina', 'michael']
我们使用
backNames = names
的方式复制的是列表的一个引用,比如,backNames.pop()
,打印backNames
为['charles', 'martina']
,打印names
,结果和backNames
一致,即变量names
和backNames
所使用的是同一个列表。我们使用
backNames = names[:]
的方式复制,将会生成一个全新的列表
元组(tuple)
不可变的列表称为元组,比如我们定义一个矩形长宽不变的元组dimensions = (100, 50)
,长度为dimensions[0]
,当我们执行dimensions[0] = 200
时会抛出一个错误,我们虽然不能修改元组内元素的值,但是可以给元组变量赋值,即dimensions = (200, 100)
布尔值
布尔值使用大写,True
或False
语句
cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
# 输出结果如下
Audi
BMW
Subaru
Toyota
if语句有两种结构,if-else
,if-elif-else
多个条件判断,使用and
表示并且,or
表示或者,使用in
来表示某值是否包含在某个列表中,使用not in
来表示某值是否不包含在某个列表中
字典
字典是由一系列键值对组成,比如people = {'name': 'linka', 'age': 25}
,需要注意的是如果key没有用引号包起来,python将会将它视为一个变量,获取name
是people['name']
,给字典添加一个值,people['sex'] = 'male'
,修改字典中的值,people['age'] = 26
,删除字典中的值,del people['age']
,通过keys()
来遍历字典中的所有键,通过values()
来遍历字典中的所有值,遍历字典如下:需要注意的是,遍历顺序不固定
people = {'name': 'linka', 'age': 25, 'sex': 'male'}
for key, value in people.items():
print('key is', key)
# 此处如果使用print('value is ' + value),将会在age时报错,因为类型不同,不能进行操作
# 可以将value转为字符串,print('value is ' + str(value))
print('value is', value)
print(' ')
# 输出结果如下
key is name
value is linka
key is age
value is 25
key is sex
value is male
用户输入和while循环
input()
方法可接收用户输入,注意,用户输入的全是字符串类型,int()
转成整数,float()
转成浮点数,str()
转成字符串,while循环中使用break退出循环,continue是跳过本次循环
函数
传递任意数量的参数时使用*Args
,类型为元组,传递任意数量的关键字实参使用**Args
,类型为字典
引入模块,import <Module_Name>
或者from <Module_Name> import <Function_1>, <Function_2>
使用Function
别名from <Module_Name> import <Function> as <Alias_Name>
使用Module
别名import <Module_Name> as <Alias_Module_Name>
类
类中有一个特殊方法,__init__(self)
,每当创建新实例时都会调用它
# 继承
class Car():
def __init__(self, model):
pass
class ElectricCar(Car):
def __init__(self, model):
super().__init__(model)
文件和异常
读文件
with open('XXX.txt') as file_object:
contents = file_object.read()
print(contents)
写文件
with open(<File_Path>, <Mode>)
允许指定模式,读取模式:r
,写入模式:w
,附加模式:a
,读取和写入模式:r+
,默认是读取模式,附加模式是指,如果文件不存在,将新建,如果存在,将在末尾追加,而不会覆盖原有内容
with open('XXX.txt', 'w') as file_object:
file_object.write('I love you')
异常
try-except
,tray-except-else
,try
中应只包含可能导致错误的代码,依赖try
代码块成功执行的代码都应放在else
代码块中。pass
指明该块什么都不做
存储数据
import python
numbers = [2, 3, 5, 7, 11, 13]
filename = 'XXX.json'
with open(filename, 'w') as file_object:
json.dump(numbers, file_object)
with open(filename) as file_object:
nums = json.load(file_object)
print(nums)
评论 (0)