1.变量和数据类型
变量.方法,例如name.title(),将name执行title操作---将第一个字母大写
.upper---全部大写
.lower---全部小写
.rstrip---删除空格
\t---制表符
\n---换行符
3**3=27---乘方
str(A)---将A转成字符串形式
2.列表
['a' , 'b']---方括号表示列表,逗号分隔元素
列表名[0]---选取列表中第一个元素
.append(' ')---将元素添加到列表末尾
.insert(位置,' ')---将元素添加到指定位置
del 列表名[0]---将第一个元素删除
A=列表名.pop(0)---将第一个元素删除并赋值给A
列表名.remove('元素名')---删除一个指定的值
列表名.sort(空/reverse=Ture)---按照字母表顺序/反序排列
sorted(列表名, 空/reverse=Ture)---按照指定顺序显示列表,不改变排序
列表名.reverse()---反转列表排列顺序
len(列表名)---列表长度
3.操作列表
循环:for cat in 列表名(cats):---从cats列表中取出变量存储在变量cat中
python根据缩进判断代码行与前一个代码行的关系,for循环只执行到其下缩进的内容
range(1,5)---实际是1、2、3、4四个数字,到5停止 range(1,5,2)---实际是1、3两个数字,步长为2输出 range(30)---从0开始到30结束
list(range(1,5))---将数字转换成列表
min(列表名)、max(列表名)、sum(列表名)
squares = [value**2 for value in range(1,11)]---列表解析,可用于创建列表
切片:列表名[0:3]---打印0、1、2位置的元素
列表名[ :3]---从0位置开始选取第三个位置前的元素
列表名[-3: ]---选取最后列表中最后三个位置的元素
for player in players[ :3]
A=B[ : ]---复制列表B给列表A,此时对A和B的操作是分开的。若简单的A=B的话对A的操作也会对B进行,只是指向了同一个列表。
元组:不可变的列表,对元祖的数据不可以进行修改,但是可以对元祖重新赋值
元祖名 = (200,50)---定义元祖
4.if语句
比较符号:==、!=、>=、<=
检查多个条件:and、or
检查特定值是否在(不在)列表中:'mushroom' (not)in 列表名
格式:有一个满足就跳过下面的
if 判断条件:
执行内容
elif 判断条件:
执行内容
elif 判断条件:
执行内容
else: ---可省略
执行内容
if 列表名:---列表至少包含一个元素时返回True,列表为空时返回False
5.字典
格式:alien_0 = {'color' : 'green' , 'points' : 5}---alien _0为一个字典(用花括号创建),'color' : 'green'为一个键值对,一个字典中可以包含多个键值对
调用方式:alien_0[ 'color' ]---方括号选取键值,输出为对应值
添加键值对:alien_0['x'] = 0 ---方括号给出键值,=号后给出对应值 ,此命令也可以用于对已知键值的对应值的修改
删除键值对:del alien_0['points']---指定字典名和要删除的键名
遍历字典:for key,value in alien_0.items():---将键给变量key,对应值给变量value
for key in alien_0.keys():---将键给变量key
for value in alien_0.values():---将值给变量value
sorted(alien_0.keys( )):---列出字典中所有的键并排序
set(alien_0.values( )):---列出字典中所有的值并找出列表中独一无二的元素
嵌套:列表嵌套字典、字典嵌套列表、字典嵌套字典
若字典嵌套列表,则使用for topping in pizza[ 'toppings' ]:---调用键名然后遍历
6.用户输入和while循环
输入格式:
age = input("请输入: ")---括号内部必须为字符串形式,将输入的数以字符串形式存在变量age中
age = int(age)---将字符串形式转换成int形式
5 % 3---%为求模运算,结果为2
A = " "---A定义为一个空字符串
while循环格式:
active = True
while active:
break可以跳出循环
continue可以结束当前循环,并重新根据结果觉得是否继续循环
while与列表结合使用:whlie 'cat' in pets :---'cat'为列表pets中的元素
7.函数
格式:def 函数名(形参1='默认值1',形参2='默认值2',形参3='默认值3',…):---默认值可设可不设,没有默认值的形参需要在调用时给出值
……
return 变量名
调用:函数名('实参1','实参2','实参3',…)---此种位置实参需要对每一位置处的形参赋值
函数名(形参1='实参1',形参2='实参2',…)---此种关键字调用的顺序无关紧要
对于有返回值的函数,需要指定一个变量存储返回值,如a = 函数名('实参')
让实参变为可选的:将可选的<形参=' '(空字符串)>并将其移到形参列表的末尾。在调用时python将非空字符串解读为True,根据是否提供该实参利用<if 形参名>的命令分别控制
形参值为列表时,在调用时可用列表名[:]的方式,在函数调用时对该列表的操作不会影响原列表
传递任意数量的实参:def 函数名(*实参名): —>调用时<函数名(' ',' ',' ')>,输入的实参以元组的形式存储---*实参名应放在最后
传递任意数量的关键字实参:def 函数名(**实参名):—>调用时<函数名(键名1=' ',键名2=' ',键名3=' ')>,创建一个空字典,将收到的名称-值对都封装到这个字典中
导入函数:from module_name import function_0,function_1,…
导入函数并指定别名:from module_name import function_name as fn/import module_name as mn
8.类
定义:class Dog():---类的名称大写
def _init_(self,name,age):---选取实参
self.name = name
self.age=age
self.size=1---默认值,调用时无需输入
def sit(self):
print(self.name.title( ))
调用:my_dog = Dog('willie',6)---my_dog为一个实例
print(my_dog.name.title( ))
my_dog.sit( )
修改类中属性的值:
(1)直接修改:my_dog.size = 2
(2)通过方法修改:def up_size(self,mileage):
self.size = mileage
调用:my_dog.up_size(2)
继承:class ElectricDog(Dog):---括号内指定父类的名称
def_init_(self,name,age):
super( )._init_(name,age)---让子类包含父类的所有属性
slef.battery_size=70---子类包含的属性,父类没有
def sit(self):
print(self.name)---重写父类
导入类:from dog import Dog---从 文件名 导入 类名
import dog---导入整个模块,此时调用需要用dog.Dog('willie',6)
9.文件和异常
读取文件:with open('文件路径') as file_object:---with在不需要访问文件后将其关闭
contents = file_object.read( )---读取文件内容
print(contents.rstrio( ))---删除字符串末尾空白并打印
文件路径:Linux和OS X中使用/,windows中使用\
逐行读取:filename='路径'
with open(filename) as file_object:
(1)for line in file_object:
print(line)
(2)lines = file_object.readlines( )---从文件中读取每一行并将其存储在一个列表中
for line in lines:---列表读取
print(line)
读取txt文件时,所有文本都是字符串形式,可用int( )或float( )转换为数字
写入文件:with open(filename,'w') as file_object:---'w'为写入模式(覆盖原文件并写入)、'r'为读取模式、'a'为附加模式(在原文件后加入新的内容)
file_object.write("I love xiaoma.\n")
存储数据:import json
numbers = [1,2,3]
filename = 'test.json'
with open(filename,'w')as f_obj:
json.dump(numbers, f_obj)---存储数据+存储数据的文件对象
numbers = json.load(f_obj)---读取数据