首页 > 技术文章 > python基础

wenchao-123 2020-12-15 09:00 原文

字符串类型:
整形 :int      浮点型:float   字符串:str   列表[]:list
布尔:bool    元组():tuple   字典{}:dict   集合{}:set
 
 循环:
列如:for 临时变量 in range(起始值,结束值,步长)
range 循环次数
range函数 第一个参数代表起始值 如果不写默认从0开始
第二个参数代表结束值 但是不包含该数 含头不含尾
第三个参数代表步长 如果不写默认是1
 
break 跳过循环
continue 跳过本次循环
pass 空语句、占位
 
字符串方法:
find 函数:查找字符串中第一次出现该字符的下标,查找不存在的字符返回-1
index 函数:查找字符串中第一次出现该字符的下标,查找不存在的字符会报错
rfind 函数:查找字符串中最后一次出现该字符的下标,查找不存在的字符返回-1
rindex 函数:查找字符串中最后一次出现该字符的下标,查找不存在的字符会报错
upper 函数:将字符串所有字符转换成大写
lower 函数:将字符串所有字符转换成小写
title 函数:将每个单词首字母大写
isspace 函数:检测字符是否为空格
isupper 函数:检测字符是否是大写
islower 函数:检测字符是否是小写
startswith 函数:判断字符串以什么开头
endswith 函数:判断字符串以什么结尾
isalpha 函数:检测字符串中是否全部为字母
isalnum 函数:检测字符串是否是数字 或者 字母 或者数字和字母组成
isdigit 函数:检测字符串中字符是否全部为数字
strip 函数:去掉字符串最两端的字符,默认空格
rstrip 函数:去掉字符串最右侧的字符,默认空格
lstrip 函数:去掉字符串最左侧的字符,默认空格
replace 函数:替换
split 函数:以指定字符进行分割,分割之后存在列表里
count 函数:统计指定字符出现的次数‘
join 函数:连接 可以将指定列表按照指定字符连接成字符串
len 函数:检测字符串长度
 
 
列表:
增加:
append 在列表尾部进行添加
extend 在列表尾部将内容逐一添加到列表里
insert 在列表指定位置进行添加
 
删除:
pop 在列表进行删除
remove 根据元素的值进行删除
del 根据元素的下标进行删除
 
查找:
in 在什么什么里
not in 不在什么什么里
 
排序:
sort 由小到大 升序
sort(reverse=True) 由大到小 降序
reverse() 反序 逆序 倒序
 
 
字典:<class 'dict'> 由键值对组成 键:值
变量名 = {"键1":"值1","键2":"值2","键n":"值n"}
get: 不确定字典中是否存在某个键时 就可以使用get方法来获取 返回None 如果想要指定返回值 需要写第二个参数
字典的修改 需要通过键来修改所对应的值
列如:变量名[键] = '值'
当键存在时 字典的修改
当键不存在时 字典的增加
字典的查找 in not in 判断字典的键
列如:if "键" in 变量名”:
输出语句
else:
输出语句
删除:根据键进行删除 del
列:del 变量名[键]
清空:clear
列:变量名.clear()
len(): 在字典内是检测 键值对的个数
列:len(变量名)
keys(): 字典的键
列:变量名.keys()
values(): 字典的值
列:变量名.values()
items(): 字典的键值对
列:变量名.items()
 
可变类型:能进行增删改查的就是可变
列表 字典 集合
不可变类型:不能进行增删改查的就是可变
整数 浮点 字符串 元组
 
enumerate:带索引的遍历
start : 从下标几开始
列: for i,j in enumerate(变量名,start=1):
 
集合{}:<class 'set '> 没有顺序的列表
定义空集合:变量名 = set()
集合的特点:集合中的元素是唯一的 无序的 一般用于列表的去重
添加:
add() 添加元素
update() 将内容逐一添加到集合里
删除:
pop() 随机删除集合中的元素
remove() 根据元素的值进行删除 删除不存在元素时进行报错
discard() 根据元素的值进行删除 删除不存在元素时 不进行任何操作
 
集合的交集和并集
& 交集:二个集合都有的元素叫交集
列:print(集合1 & 集合2)
| 并集:二个集合合并到一起叫并集
列:print(集合1 | 集合2)
 
公共方法:
+: 合并 拼接
支持数据类型:字符串、列表、元组
*: 复制
支持数据类型:字符串、列表、元组
in:在......里
not in: 不在......里
支持数据类型:字符串、列表、元组、集合、字典(判断键存不存在)
 
 
内置函数:
len() 检测元素长度
支持数据类型:字符串、列表、字典(键值对的个数)、元组、集合
del 删除
max() 最大值
min() 最小值
sum() 求和
 
函数: 具有一定功能的代码块 可以重复利用
注意:
一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
函数名 和 变量名不能相同,否则会出现错误
形参和实参个数要一一对应 类型要一致
定义函数
列:def 函数名():
函数体
调用函数
列:函数名()
help: 查看函数文档说明
列:help(函数名)
 
局部变量:
在一个函数中定义的变量只能在本函数中使用(局部变量)
在函数内部定义的变量叫局部变量,只能在函数内部访问,不能在函数外部访问
全局变量:
在函数外定义的变量,可以在所有函数中使用(全局变量)
在函数外部定义的变量叫全局变量,在函数内部和外部都可以访问
 
当全局变量和局部变量名字相同时 不是修改全局变量 就是定义的局部变量
 
global: 在局部内修改全局变量
return: 函数的返回值 结束函数
当return同时返回多个数据时 存到元组里
 
拆包的数据类型:
元组、列表、字典
字典拆包需要注意 拆的是字典的键
说拆的数量与变量的数量一致否则报错
拆包列如:
列表:变量民,变量名1,变量名n = ["数据",'数据1','数据n']
字典:变量民,变量名1,变量名n = ['键':"数据",'键1':'数据1','键n':'数据n']
元组:变量民,变量名1,变量名n = ("数据",'数据1','数据n')
 
缺省参数
在定义函数时直接给形参赋值 age是缺省参数 缺省参数要位于咱们形参列表的后边
 
不定长参数 不确定所传参数长度
*args(变量名) 会存放所有未命名的参数 会将所有参数存放到元组里
**kwargs(变量名) 会存放所有命名的参数 存放到字典里
列如:def func(a,b,c,*args,**kwargs):
      print(a)
      print(b)
      print(c)
      print(args)
      print(kwargs)
  func(1,2,3,4,5,6,7,m=4,n=0,d=8)
 
文件
访问模式:
  r: read以只读的方式打开文件 也是默认访问
  w: wirte以写入的方式打开文件 如果文件存在相当于写入内容如果文件不存在则创建新文件
  a: appendn打开一个文件用于追加。如果文件已存在。文件指针将会放在文件的结尾
  也就是说,新的内容将会写入到已有内容之后如果文件不存在,创建新文件进行写入
 
  open: 打开文件
  列:变量名 = open("路径",'打开方式')
  write: 写入内容
  列:变量名.write(写入内容)
  close: 关闭文件
  列:变量名.close()
  read(): 读取文件,不加参数读取全部
  列:变量名 = 变量名.read(参数)
  参数代表读取字符的个数
  readlines(): 将内容全部读取出来 每一行作为一个元素 存放到列表里
  readline(): 按行读取内容 每次读取一行的内容
 
文件夹:
  import: 导入模块
  os 模块
  用os模块
  列:模块名.方法
  'os' 模块中的'rename()'可以完成对文件的重命名操作
  'rename(需要修改的文件名,新的文件名)
  remove(文件名): 删除文件
  mkdir(文件夹名字): 创建文件夹
  rmdir(文件夹名字): 删除文件夹
  getcwd(): 获取当前目录
  chdir('../'): 改变默认目录
  listdir("./"): 获取目录列表
 
面向对象:只面对一个对象,事情全部由这个对象解决了
类: 抽象的事物
对象: 就是类的具体的一个事物,是类的一个实例(实际的例子)
类是由什么组成:
类名 类属性(与生俱来的特性) 类方法(后天养成的特性)
定义类和对象:

 

 

面向过程:整个事情的过程都参与了
 
 
 
继承:
单继承:一个子类继承一个父类 子类可以继承父类的属性和方法
 
多继承:
  子类继承多个父类 如果父类有同名属性和方法时 默认继承第一个父类的内容
  不同命的属性和方法 不受影响
子类调用父类同名属性和方法 在子类里重新定义方法:
  super 可以调用父类的属性和方法 但是默认只执行第一个父类的

 

 定义私有属性:

  私有权限 在属性名和方法名前边加 _ _
  私有属性 不能直接访问也不能被子类继承 但是可以在本类内部访问(定义一个公有方法来访问)
  修改私有属性的值 在类的内部定义公有方法来修改
  私有权限(私有属性、私有方法):在属性和方法前边加上两个下划线 _ _
  类的私有属性 和 私有方法,都不能通过对象直接访问 但是可以在本类内部访问(定义一个公有方法来访问)
魔法方法 __开始__结束 不需要调用会自动执行的方法
  __init__ 初始化属性和赋值 相当于对原材料进行加工
  __mro__ 查看子类继承顺序
  __new__ 相当于原材料购买环节
  __ str__ 返回一个字符串 作为对象的描述信息
  __del__ 对象全部都被删除时自动执行
 
面向对象编程 oop 三大特征:封装 、继承、多态
  封装:将属性和方法放到一起作为一个整体
  继承:子类可以继承父类的属性和方法
  多态:一个类可以创建出多个对象 每个对象有不同的属性和方法
 
 
类属性:

 

 

类方法:
静态方法:
类方法、实例方法、静态方法
 
单例模式:
__ new__ 方法创建实例
 
异常概述:
 
捕获异常:
 

 

 

raise 自定义异常
 
模块:导包
  time: 时间模块

 

 

推荐阅读