python 复习
变量:
数字、字母、下划线 不能有空格
字符串:
单引号 双引号都可以
\t ---- 制表符(缩进) \n ----- 换行符(回车)
str() 将非字符串转化为字符串
upper() 全大写 lower() 全小写 title() 首字母大写 upper lower title会不会改变存储的元素本身
数字:
** + 数字(表示几次方)
注释:
’#‘ 注释中有中文要用: #-- coding:utf-8 -- ,有这句话才可以备注中文
pycharm里面进行大规模注释 选中段落后 ctrl+/
列表:(类似于数组)
例如:car=['a','b','c','d']
索引下标为:-1,就是访问列表最后一个元素,-2、-3意思类似
修改元素:
1:类似数组下标直接修改
2:添加到末尾:数组名 . append ( ’值‘ ) 例如:motorcycles.append('apple')
3:插入某位置:数组名 . insert ( 位置, ’新元素值‘ ) 例如:motorcycles. insert(0,‘apple’ )
4:删除某元素:del 数组名[位置] 数组名.pop ( 位置 ) (删除接着返回值,类似于出栈)例如:del a[0] motorcycles.pop(0)
5:根据值删除元素:数组名 . remove ( '值' ) 例如:motorcycles.remove( 'moto') 但是每次只会删除第一个目标值,有多个就要调用多次
del特殊
列表排序:
1:sort永久性排序,按照字母顺序排序:数组名 . sort ( ) 例如:car.sort(reverse=Ture) True 必须大写
2:sorted临时性排序:sorted(数组名) 例如:print(sorted(car, reverse=True))
3:reverse永久性逆序,按照原来顺序反过来:数组名 . reverse ( )
sorted特殊
确定列表长度:
len(列表名) 例如:len(cars)
遍历整个列表:
for car in cars:
print(car)
记得缩进,缩进很重要
创建数字列表:
1:生成一个范围内的数字列表:range ( 起始数字,终止数字后一个)
2:快速生成一个数字列表
3:列表解析
#用列表解析的方法创建一个x的平方的列表 squares2=[value**2 for value in range(1,6)] #此处for循环没有冒号 print(squares2)
切片:
数组名 [ 起始数字:终止数字后一个 ] (与range相对比记忆) 起始或者终止不写等于从头或者到尾元素截止
复制列表和关联列表的区别:
your_foods = my_foods ≠ your_foods = my_foods[ : ]
前者为关联(赋值,实际存储单元只有一个),后者为复制 有两个列表
元组(不可修改的列表):
元组名 ( ) (与列表区分开来)
想要修改元组就是直接重新定义一个同名的元组
if语句:
判断相等时会区分大小写 :
word='apple' if word=='Apple' : print("yes") else: print('no')
与 或 :
与(&&):and 或(||):or
#测试一下与或 shuzi1=2 shuzi2=3 shuzi3=2 if shuzi2==3 and shuzi3==shuzi1: print("数字2为3,数字3和数字1相等")
这里 if后面不能加括号 就直接写或与的条件就好了
元素在或不在列表中:
in not in
列表是否为空:
if 列表名:
执行语句
字典(键值对):
定义时用: 修改或者操作时用= (体会一下)
1:定义:
字典名 = { 键:值 ,键:值 }
2:访问字典中的值:
字典名 [ 键 ]
#定义字典 并访问字典里键对应的值 aliens={'collor':'green','point':'5'} print(aliens['collor'])
3:添加、修改键值对:
字典名 [ 键 ] = 值
4:删除:
del 字典名 [ 键 ]
5:遍历字典:
items ( ) :返回可遍历的(键, 值) 元组数组。
#遍历字典 for k,v in aliens.items(): print('\nkey is '+ k) print('value is ' + v)
6:访问键:
字典名 . keys ( ) 例如:cats . keys ( )
7:访问值:
字典名 . values ( ) 可用set( )去除重复的值
#set()去重复的值 zidian = {'Anne':'20','Petter':'21','Anny':'19','zhouyux':'21'} for v in set(zidian.values()): print(v)
区分一下:列表 [ ] 、元组( )、字典 { } 切片 ‘ :’ range ‘,’
输入和while循环:
input输入:
input ( 提示、说明 ) (自动解读为字符串)
input转为数值:int ( )
while循环:
while(条件):
执行内容
break退出循环:
continue停止本次循环:
函数:
函数定义:
def 函数名 ( ) :
函数主体
关键字实参:
就是相当于写参数的时候用键值对的形式表示好参数,就可以不用一定按照顺序去填参数了
#定义一个打招呼的函数,并调用 def sayhi( adj ,name ): print('Hello!'+' ' + adj +' '+ name) sayhi( name='zhouyuxiang',adj='handsome')
默认实参、可选实参:
默认实参:在定义函数的时候就写好默认值
可选实参:在定义函数的时候将其写为空,并将其移至末尾
#可选实参 def wholename(fname,lname,mname=' '): print(fname+' '+mname+' '+lname) wholename('zhou','yu') wholename('zhou','xiang','yu')
传递任意数量实参:
*toppings
#传递任意数量实参 def function(*toppings): print(toppings) function('asd','asdasd') function('ZCX','zxcvzxvc','asdasdasd')
传递任意数量关键字实参:
**user_info
#传递任意数量关键字实参 def function2(first, last , **user_info ): profile={} profile['first_name']=first profile['last_name']=last for k,v in user_info.items(): profile[k]=v return profile user=function2('li','hua',sex='boy',age='21') print(user)
模块(独立文件):
导入整个文件:
import:引入独立文件,从而可以使用其中的函数
import f_name / from f_name import *
要使用 ‘ . ’ 进行引用
导入某文件中一个函数:
from module_name import function_name
不需要用 ‘ . ’ 进行引用
给模块、某个函数起别名:
as
1:给函数起别名:from ** import f_name as nickname
2:给模块起别名:import f_name as nickname
类:
class 类名 ( ) :
定义类、创建实例:
#定义一个类 class Dog(): def __init__ (self,name,age): #汽车的属性 self.name=name self.age=age def sit(self): print(self.name+self.age+' '+'SIT') def roll(self): print(self.name+self.age+' '+"roll") #创建实例 引用属性 my_dog = Dog('xiaohua','5') print ( "this dog's name is "+ ' '+ my_dog.name.title() ) #引用类里面的方法(函数) my_dog.sit() my_dog.roll()
首字母大写为类名,小写为实例
类中的函数称为方法
可以通过实例访问类中的变量称为属性
继承:
继承父类(超类)属性用:
super()._ init _(name,age)
#继承 class Guibin(Dog): """初始化""" def __init__(self,name,age): """" 继承父类的属性 """ super().__init__(name,age) #创建贵宾的一个实例 my_guibin=Guibin('Sanmy','3') my_guibin.roll() print(my_guibin.name)
从模块中导入类:
form 模块名 impor
文件和异常:
文件:
读取整个文件:read
#读取整个文件,将其内容print出来 with open('pidigist.txt') as f_ob: contents=f_ob.read() print(contents)
逐行读取:line
#逐行读取 with open('pidigist.txt') as f_ob: for line in f_ob: print(line)
文件路径:
相对路径、绝对路径
通常在开头的单引号前加上r
例如:\n表示换行如果路径中有\new就会被转义。\t表示横向制表符,如果路径中有\title就会被转义.
加上r就是为了避免这种情答况。