Python基础知识

python 知识(前年的笔记)
变量 是个抽象的东西,就是储存数据是的地址起了个名字而已
变量名称自定义的,要符合标识符命名规则。
python定义命名规范 ,1,有数字,字母下划组成 2.不能数字开头 3,不能使用内置关键字 4 严格区分大小写。
Python数据类型
数据类型包含 1 ,数值 int(整型 ) float (浮点型) 2,布尔型 True False 3 ,str 字符串 4,list 列表
5,tuple(元组型) 6,set(集合) ,7dict(字典)。

python数据格式化使用
%s 字符串格式化, %d 有符号的十进制整数 %f 浮点数 print(“小明的年龄是%s岁”%s age )
语法表达式 常用F print(f‘我的名字{name}’,年龄{‘age’})

python 转义字符
\n ;换行展示 \t;向后缩进四格 tab键 四个空格的距离
python结束符
end =“/n” 或t eval()计算在字符串的有效表达式,并返回一个对象。

数九类型转换
input()输入的数据类型转换成字符串类型
int()将数据转化成整数类型
float()将数字类型转化成浮点数。两位小数
str()将参数转化成字符创
tuple()将列表数据转成元组leixing
list()将元组数据类型转化成列表
eval()用来计算python中有效的表达式,并返回一个对象。意思就是返回数据的原有类型

python运算符
算术用算符

      • \ //整除, 能被除几次 %取余数,余数是多少 **4 这个数的平方
        复合运算符
        1, += 加法赋值运算符 c+=a 等价于 c=c+a 2, -=减法赋值运算符 3,*=乘法赋值运算符
        4,/= 除法赋值运算法 5,//整除赋值运算符 6,%= 取余赋值运算法 7 , 幂赋值运算符
        先算复合赋值用算符右面的表达式,算复合赋值运算
        比较运算符
        == 判断相等, =!判断不相等 > 大于 <小于
        逻辑运算符
        and 都为真的情况下 or一真才真,都假才假 not 取反的意思

if条件语句 elif:
如果某些条件成立执行了相关代码,那么其他的情况代码解释器根本不会执行
多重判断使用else配合使用。一般else放到整个if 的条件的最后面,条件以上情况不成立执行的语法。

随机数导入模块import random
三目运算符语法:
条件成立执行表达式if 条件 else 条件不成立执行的表达式。if 条件往前放,else 条件不成立往后放。
if判断
if 判断条件 elif 多条件判断 eles:条件不成立执行的语句
if 嵌套

while循环
while 后面跟条件 :必须有计数器累加 ,
break 和continue是满足一定的条件退出循环的两种不同方式。 break满足条件就退出循环,continue当条件处成立,,退出当前循环,继续执行下次循环。continue 之前一定要加一个计数器
while语法 ,条件成立重复执行的代码1,条件像成立重复执行代码二,
while嵌套语法:条件一成立执行的代码,条件而成立执行的代码…
for循环
临时变量in序列,重新执行的代码一,重复执行的代码2。
else 正常结束之后执行的代码

python 字符串
字符串引号 有三种 ,单引号,双引号,三个引号,注意的是,三引号可以显示,而且输出的内容也是换的,单引号换行要加转译 \ 符号,输出内容不换行。
split()分割,字符创 replace()替换 join()连接成一个大字符串。
lower 将字符串大写转换成小写
upper()将字符串小写转成大写
capitalize()首字母大写
title()所有首字母大写
lsritp()删除首行空格 rstritp() 删除右侧空格 sritp()删除首尾空格。

python列表

列表可以储存多种数据,且可以为不同的数据类型,列表是可变序列。
index() 查找小标, count()统计
判断list中的数据是否存在
in 判断制定数据在某个列表里面序列里面,如果再返回true 否则返回False
not in 判定指定数据不在某个列表区,则显示true,负责显示false
append 结尾新增数据 extend()增加到序列的结尾 del删除数据 remove ()删除
pop()制定删除数据,没有从后面往前删
reverse()逆序排列 sort 降序升序

python的元组
一个元组可以储存多个数据,元组内数据不能修改
元组的特点:定义元祖是用小括号,且逗号隔开数据,数据可以是 不同数据类型。

python 字典 可变类型
字典的特点是:符号为大括号,数据已键值对的形式出现,,各个键值对之间用逗号隔开。
字典通过键值对的形式查找,不支持下标查找,
语法使用
字典序列.get(key,默认值) 用来查找当前的key的值,不存在,则返回none
keys() 查找字典中key,返回可迭代的对象
values 查找字典中的所有value,返回可迭代对象。
items ()查找字典中都有的键对值,返回迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典的key
for valu,key in dict.itmes()
print(f’ {vlau}={key}')
集合:数据的特点
set()或 {} 创建空集合。创建空集合只能用 set()
集合中增加数据两种方法, add() update()用来增加一个序列
s1={1,2,3,4}上
s1.remove(3)
print(s1)
s1.discard(33)
print(s1)
remove 删除指定的数据,如果数据不存在报错, discard 删除指定 的数据,如果数据不存在不报错
pop() 随机删除某个数据并返回数据 del =set.pop() print(del)

python公共操作方法 运算符

  • 合并 支持的类型有 字符串, 列表,元组,
  • 复制,字符串列表 ,元组,
    in 元素是否存在支持类型 字符串 元组 列表 字典
    not in元素是否不存在,支持类型字符串,列表,元组,字典

函数 描述

len()长度 计算容器中元素的个数
del或del() 删除
max()返回容器中元素最大的值
min ()返回容器中元素最小的值
range(start,end,step) ,从start到end中数字不包括and,步长为step,供for循环使用

enumenrate()函数用于将一个可遍历的数据对象,(如列表,元组或字符串,)

容器类型的转换
tuple 将序列表元素转换成元组用的
list 将某个序列转换成列表
set 将序列转换成集合,不支持下标,去重。
推导式 简化代码
列表推导式
用一个表达式创建一个有规律的列表或控制一个有规律的列表。
带 if 的列表推导式 listi1=[ i for i in range(10) if i%2==0]
字典推导式
快速合并列表为字典或提取字典中的目标数据,
counts={‘tmr’:203,‘eer’:100}
dict1={key:value for key,value in counts.items() if value >= 200 }
集合推导式
创建一个集合,集合有去处数据的功能 ,列如:
list=[1,1,2]
set={i* * 2 for i in list} print(list) j结果是 {1,4}, set集合有去重功能

函数
函数的作用就是将一段有独立功能的的=代码块,整合在一起并命名,在需要的位置调用名称
高效的提高代码的使用率
函数使用步骤: 定义,调用。
函数要注意的事项
1,函数先定义在调用,如果先调用会报错。
2,若如果没有调用函数,里面的代码不会被执行
3,函数的额执行流程是,当函数的被调用的时候解释器会回到调用函数的下方执行函数下的代码,在回到调用的下方,定义函数的时候,函数体内缩进的代码是没有被执行的。
函数参数的作用
函数的参数,函数调用时可以传入真实的数据,增大参数的使用灵活率
形参:函数定义时书写的参数(非真实数据)
实参:函数调用时书写的参数(真实的数据)
return 退出当前函数,函数下面的代码不会执行
否则函数数值返回
函数说明文档的作用:使用help()内置函数查看说明文档,在函数下面添加高级注释,‘’‘’ ‘’’
6个单引号之间按回车键在首行写上注释,下面标记形参描述。
函数嵌套调用: 定义第一个函数,定义是第二个函数,用到第一个函数调用执行代码,第二个函数增加形参,做调用比较条件
例如:def ni(): def hao(name):
i=0
print (‘-’ * 20) while i<name;
ni()
i+=1

第二部分函数变量作用域
局部变量,定义在函数体内的变量,即只在函数体内部生效。当函数调用完成后销毁局部变量。
全局变量:指的是在函数体内,外都能生效使用,
global 申明关键字为全局变量。
函数的返回值作为第二个函数的传参,去第一个函数返回来的值,做第二个函数的形参,第一个函数返回来的值做一个变量,传入第二个调用函数的新形参之中。
函数的返回值 函数有多个返回值

一个函数多个返回值,return后面直接书写,元组 列表 字典,返回多个值。
函数的参数
位置参数
位置函数:调用函数时根据函数定义的参数位置来传递参数。传递和定义参数的顺序及个数必须一致。
关键字参数
通过键=值形式加以指定,可以让函数更加清晰,容易使用,同时也清楚了参数的顺序需求。函数在调用的时候如果有位置参数时候,位置参数必须在关键字参数的前面关键字参数之间不存在先后顺序。
缺省参数
带有默认值的参数叫缺省参数,调用函数时,可不传该默认参数的值,所以位置参数必须出现在默认参数前面。
不定长参数关键字
用于传不确定调用时候多少个参数得时候,(不传参也可以的)。
包裹位置传递,args传进的参数都会被args变量收集,他会根据传参数的位置合并成一个元组(tuple)
kwargs收集所有关键字参数,返回一个字典。
def nul_1(**kwargs):
print(kwargs)
nul_1(name=“topme”,age=123)
函数拆包
调用函数return 返回两个值,有几个返回值,赋值几个参数,打印赋值参数的几个名称
交换变量
可变类型和不可变类型
可变类型,列表,字典,集合,不可变类型,整数,浮点型,字符串,元组
递归
递归是一种编程思想,函数是一种编程现象
递归的特点:函数内部自己调运自己,必须要有出口。

lambda 简化代码
lambda,参数列表 ,表达式需要注意的:lmbad 参数列表 :表达式
lambda表达式的参数,可有可无,,lambda表达式能接受任何变量的参数,但只能返回一个表达式的值。
高阶函数
abs 求绝对值 round()四舍五入 函数
定义形参函数,、函数式编程大量的使用函数,减少了代码的重复,因此程序比较短,开发速度快map(fun,list)函数 ,把函数变量fun引用到list每个元素中,并将组成新的列表。
reduce(fun,lst)其中fun必须有两个参数,每次fun计算的结果继续和序列列表的里面的下个元素做计算
import functools
list2 =[2,3,5,6]
def fun1(a,b):
return a+b
result1=functools.reduce(fun1,list2)
print (result1)
操作文档
文件的操作步骤,打开文件,读写文件,关闭文件
使用open函数可以打开一个已经存在的文件,或者创建一个人新文件open(name,mode)
name 是打开目标文件的名称可以是字符串,()可以是文件所在的具体位置
mode,设置打开文件的模式(只读、只写、追加)
r 如果访问的文件不存在,报错,不支持写入
w 只写,如果文件不存在,新建文件夹,,执行写入会覆盖原来的信息
a 如果果访问的文件不存在,新建文件夹,在原来文件内容上面追加新加入的信息
访问参数 r 可以省略,如果省略访问标识访问模式为 r
read (num)函数 读,表示存文件中读写出全部数据,如果体现num字节的话,展示填写的字节数。
readlines(),按照行的方式把文件中的内容进行一次性读取,并且返回一个列表,其中每一行的数据为一个元素。
readline一次只读取一行内容。
seek 文件对象 seek (偏移量,起始位置)0开头 1 当前 2 结尾

面向对象
面向对象就是一种抽象的编程思想,面向对象就是将编程当成一个事物,对外界来说事物可以直直接使用,对编程来说,事物就是用编程的思想设置事物能做是什么事。
类和对象
用类创建一个对象,用类创建一个实例化。
类的概念:类是对一系列具有相同特征和行为的事物统称,是一个抽象的概念,不是真实存在的事物
特征是属性,行为是方法。
self 就是调用该函数的对象,也就是类本身。属性可以在对象外面增加一对。属性名
魔法方法函数
再python中 __python__格式的叫做魔法方法,指的是有特殊功能的函数。
int__初始化对象方法,每次调用对象进行初始化实例,在调运对象的时候不需要手动调运。
带参数的__int

一个类可以创建多个对象,不同的对象有不同的属性实例,我们通过传递形参,参数进行传参,
魔法方法 str__都是有特殊功能的函数
str__主要是定义函数对象,主要用来描述,函数说明
父类子类继承
子类继承父类下面所有的属性和方法。
python中所有类默认继承object,object类是顶级类或者基类,,其他子类叫做派生类
单继承类
单继承:一个父类继承给一个子类。
多继承:注意当子类有多个父类的时候,默认使用继承第一个类的属性和方法。
子类重名父类里面的属性和方法:如果子类和父类里面拥有同名属性和方法,子类创建对象调用属性和方法的时候,调用到的是子类里面的同名属性和方法。
快速查看子类的继承关系: print(子类名称.mro)
子类调用父类的同名属性和方法:当子类调用父类方法和属性,父类会覆盖子类的属性和方法,在调用前,先调运自己类的初始化。
注意:为了调运到父类的方法,但是为保证调运到的也是父类的属性,必须在调运方前调运父类的初始化。
多层继承
super()调运父类的方法
方法一 super(当前类名,self).int
super可以自动查找父类,调运顺序遵循__mro__类属性的顺序,比较适合继承单继承
super 无参数调运,、
定义私有属性和方法,在属性和方法前面加上两个下划线
,加上下划线为私有方法,,只有自己可以调用,其他子类调用不到。
获取私有属性和方法的方法。在类里面定义获取属性,通常在类里面定义类和方法,一般获取私有属性格式,用get__名称, set
()修改属性。
类的继承优点
子类默认拥有父类的属性和方法,子类可以重写父类的属性和方法,子类可以调用父类的属性和方法。 super()快速调用属性和方法, 私有权限,给自己设置私有方法。

面向对象 其他特性
多态,指的是一类事物有多重形态,(一类抽象的类有多个子类,因而多态的概念依赖于继承),调运灵活。有了多态,更容易编写出通用的代码,做出通用的编程。
实现步骤:1,定义父类,并提供公共方法,定义子类:并重写父类方法,传递子类对象给调用者,可以看到不同子类执行效果的不同。
类属性的特点是
类属性比实例属性更省内存空间,实例属性每次都会产生一存放在不同的内存空间。
类修改属性,属性值不变,对象修改属性,之后相当于重新创建一个类的属性。

类方法使用 类的封装 继承 多态
@classmethod定义类方法, 获取私有方法。
静态方法,@startmethod 可以通过类,或者对象调运,特点是不需要形参,实例,实例对象的时候使用,主要是取消不必要的参数传递,有利于减少不必要的内存占用。

python 了解异常

捕获所有异常类型,Exeception获取错有程序异常类型的父类。
异常中的else,没有异常时候要执行的代码。
异常中的finally ,无论异不异常都要执行的代码。
自定义异常,可以帮助我们报错,使用函数 raise

了解模块:
模块就是一个,Python文件,以。py结尾,包含了Python对象定义的语句,模块里面可以定义函数,类,变量。和可执行的代码。
测试模块调试,
if name==main ,__name__是系统变量,是模块的标识符,,如果自身模块值是__main__否则是当前模块的名字。
模块名不能重复,重复情况下,模块无法使用。
当使用foor,xx import 功能 导入模块的功能名重复,会先使用后导入的功能。
变量名称命名不能导入功能名重复,否则引用的是变量。
__all__列表,控制导入功能行为,

Python的错误类型有
Exception 通用异常类型(基类)
ZeroDivisionError 不能整除零
Attributerror 对象没有这个属性
IOErro输入输出操作失败
IndexError 没有当前的索引

while循环
while循环+表达式,当条件成立循环执行条件,条件不成立结束xunhuan
Break 当满足当前条件,跳出结束此循环,continue当满足当前条件跳出当前循环进入下个循环。
文件内子函数
open()打开文件、read 读取文件、 readline()输入一行、 seek()文件内移动 、
white()输出 close() 关闭文件

import re 正则表达式缩写
re.Compile()转化为模式对象 match()验证是否相匹配
正则表达式; . 匹配一个任意字符(除了\n),[ ] 匹配列表中列举的字符 ,\d 匹配数字,即0-9
\D 匹配非数字,既不是数字, \s 匹配空白,tab 空格 \S 匹配非空白、 \w匹配单字符即,A-Z \W 匹配非单词字符

多字符匹配模式
*匹配一个字符出现的0次或者无限次,即可有也可无
+匹配一个字符出现1次或者无数次,必须出现一次
?匹配一个字符出现一次或者0次,要么有一次,要么没有
{} 匹配前一个字符出现m次
其他匹配
| 匹配左右任意一个人表达式
(ad)将括号中的字符作为一个分组
^ 匹配字符串开头
$ 匹配字符串结尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值