IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python复习 -> 正文阅读

[Python知识库]Python复习

Python语言基础

标识符命名规则:

必须以字母或下划线开头,对英文字母的大小写敏感,不能有空格以及标点符号,不能使用关键字

Python3字符默认为16位Unicode编码

使用内置函数ord()可以把字符转换为对应的Unicode码,chr()可以把十进制数转换为对应的字符

complex(real,[imag])创建一个复数

多变量指向同一块内存地址

is运算符判断两个变量是否指向同一对象

不可变对象:int,str,complex

可变对象:列表

eval():将字符串当成有效的表达式求值并返回计算结果

bin():把整数转化成二进制数

oct():把整数转化成八进制

hex():把整数转化成十六进制

complex():生成复数

ord():返回单个字符的Unicode编码

chr():返回Unicode编码对应的字符

str():将任意类型参数整体转化成字符串

list(),tuple(),dict(),set()分别用来把其他类型的数据转化成列表、元组、字典、集合或者创建空列表、空元组、空字典和空集合

max(),min()分别用来计算最大值和最小值

len():计算序列长度,即元素个数

sum():计算序列中所以元素之和

sorted():可迭代对象进行排序(reverse=False--升序,reverse=True--降序)

math.asin()函数返回正弦值为指定数字的弧度,math,acos()函数返回余弦值为指定数字的弧度

datetime.date.today().year返回当年的年份值

内置函数:type(),isinstance()可以判断数据类型

isinstance()判断一个对象是否是可迭代对象

+:算数加法,列表、元组、字符串合并与连接,正号

-:算数减法、集合的差集,相反数

*:算数乘法,序列元素的重复

/:真除法

//:求整商,向下会取整

%:求余数,字符串格式化

**:幂运算,指数可以是小数

<,<=,>,>=,==,!=:值大小比较,集合的包含关系比较

and,or,not:逻辑与,逻辑或,逻辑非

in:成员测试

is:测试两个对象是否为同一个对象的引用

|,^,&,<<,>>,~:位或,位异或,位与,左移位,右移位,位求反

&,|,^:集合交集,并集,对称差集

字符串格式化:

(1)print("学生人数%d,平均成绩%2.1f"%(15,81.2))

(2)print(”学生人数{},平均成绩{}",.format(15,81.2))

(3)print(str.format("学生人数{0},平均成绩{1:2.1f}",15,8.12))

(4)f-string f"{}{}{}"? ?{content:format},例:f'a is {a:8.2f}' >>>'a is 123.46'

常用格式字符:

%s字符串,%d十进制整数,%f浮点数,%e指数(基底写为e),%E指数(基底写为E),%%字符"%""%"

如果要表示一个空代码块,可以使用pass语句

>>>def do_things():

pass

如果需要解包部分值,可以采用特殊变量“_"

>>>_,share,price,_=["abc","1","2","3"]

>>>share

'1'

程序流程控制

range()可创建一个整数序列,一般用在for循环中

continue语句作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环

continue带来问题:永不结束的死循环

enumerate()函数用于将一个可遍历的数据对象组合为一个索引序列,并返回一个可迭代对象

enumerate(sequence,start=0)sequence:一个序列、迭代器、或其他支持迭代对象

start:下标起始位置

组合数据类型

序列关系:列表、元组、字符串、字节数据

映射类型:字典

集合类型:集合

通过*可以重复一个序列n次

例:>>>t2=[1,2]

>>>t2*2

[1,2,1,2]

s.count(x)#返回x在s中出现的次数

s.index(x[,i[,j]])#返回x在s中指定范围([i,j])第一次出现的下标

把多个值赋给一个变量时,自动把多个值封装成元组

当我们在进行序列解包时,只想解除部分元素时,可以在变量的左边加*,该变量会变成列表,保存多个元素

列表元素的增加方式
”+“运算符尾部添加列表
”*“运算符重复增加相同元素
append函数

尾部增添整体对象(整体添加)

extend函数尾部添加序列(逐个添加)
insert函数指定位置添加对象

list1=[1,2,3,4,5,6]

print(list1.insert(3,6))

列表元素删除
del

删除指定索引的对应元素或对象

del list_name[index]

pop

删除指定索引的对应元素,并输出此元素

list_name.pop(index)

remove

删除首次出现指定元素

list_name.remove(element)

列表排序
sortedlist_name.sort? ? ? ?正序、永久
sortedsorted(list_name)? ? ?正序、临时
reversedreversed(list_name)? ? 倒序、临时
reverselist_name.reverse? ? ? ?倒序、永久

列表推导式:[表达式 for 变量 in 列表]

列表推导式——平铺:[表达式 for 变量1 in 列表1 for变量2 in 列表1]

例:vec=[[1,2,3],[2,3,4],[3,4,5]]

[num for elem in vec for num in elem]

列表推导式——元素过滤:

[表达式 for 变量 in 列表 if条件]

元组一旦创建任何方法都不可以修改其元素

元组可用作字典键,速度比列表更快

字典是无序可变,键不可重复

以键作为下标可以读取字典元素

字典get()函数返回指定键的值,如果值不在字典中返回默认值

dict.get(key,default=None)

key:字典中要查找的键

default:如果指定键的值不存在时,返回该默认值

dict.items()方法可以返回字典的键列表

dict.keys()返回字典的键列表

dict.values()返回字典的值列表

删除一个字典用del操作

clear()方法删除字典中所有元素

集合:无序可变对象,只能包含数字、字符串、元组等不可变类型的数据,不能包含列表、字典、集合等可变类型的数据

集合元素添加

add函数:添加一个元素,update函数:添加多个元素

集合元素删除

remove函数:将元素x从集合s中移除,如果元素不存在,会发生错误

discard函数:将元素x从集合s中移除,如果元素不存在,不会发生错误

集合元素成员的判断:

基本格式:element in set_name

字符串常用方法:

内容未变化:

查询
find首次位置
rfind倒序首位
index首次位置
rindex倒序首位
count统计次数
大小写转换
lower全小写
upper全大写
capltalize首大写
title各词大写
swapcase互换

内容变换:

字符串分割
split左端分割
rsplit右端分割
partition左始三分
rpartition右始三分

str.split(sep,maxsplit)

sep:用于指定分隔符

maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为maxsplit+1,如果不指定或指定为-1,则表示分割次数没有限制

替换与合并

join 字符链接 replace 单个替换 maketrans 逐一替换(生成字符串映射表) translate

逐一替换

str.replace(old,new)

字符串常用操作

常用操作:

格式修改
strip两端删除
rstrip右端删除
lstrip左端删除
对齐方式调整
center居中
ijust左对齐
rjust右对齐
内容检测
startwith开始
endwith结束
eval计算数值
内容元素判定
isalnum字母或数字组成
isalpha是否为字母
isdigit是否为数字
isspace是否空白
isupper

是否大写

islower是否小写

zfill()返回指定宽度的字符串,在左侧以字符0进行填充

函数和函数式编程

位置动态参数:*形参

关键字动态参数:**形参

global将局部变量转换为全局变量

nolocal:表明该变量不是所在块的局部变量而是上级函数体重定义的全局变量

递归函数:

def fac(n):

if n==1:

return1

return n*fac(n-1)

注意问题:

必须设置终止条件,必须保证收敛,必须保证内存和运算消耗控制在一定范围

匿名函数:

lambda arg1,arg2,arg3......:expression(只有一个表达式,且不能使用if for,计算结果看作是函数的返回值

add=lambda a,b:a+b<=>def add(a,b):

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?returna+b

随机函数:

random.uniform(a,b):[a,b]随机浮点数

random.randirange([start,stop[,step]]):指定range内随机数

random.sample(sequence):指定序列中内一个随机元素

random.shuffle(x[,random]):洗牌,列表中元素打款顺序

random.randirange(sequence):指定序列中k个元素

map函数:以参数序列中的每个元素分别调用function函数,把每次调用后返回的结果保存为对象

filter函数指定序列执行过滤操作

reduce函数:参数序列中的函数进行累积

sorted函数:对可迭代对象的元素进行定制化排序操作

map(function,iterable)

function:函数名称

iterable:支持迭代的容器或迭代器

面向对象的程序设计

以两个下划线开头但不以两个下划线结束的属性为私有属性

静态方法:使用修饰器@staticmethod来标识静态方法

静态方法不能使用实例对象的属性

运算符重载:

class Vector:

def __init__(self,value):

self.value=value

def __add__(self,other):

he=[i+j for i,j in zip(self.value,other.value)]

return tuple(he)

x=Vector((1,2,3))

y=Vector((2,3,4))

z=x+y

运算符重载方法
方法说明何时调用方法
__add__加法运算对象加法:x+y,x+=y
__sub__减法运算对象减法:x-y,x-=y
__mul__乘法运算对象乘法:x*y,x*=y
__diy__除法运算对象除法:x/y,x/=y
__getitem__索引、分片x[i],x[i:j],没有__item__的for循环
__setitem__索引赋值x[i]=值、x[i:j]=序列对象
__delitem__索引和分片删除del x[i],del x[i:j]

继承:

class 子类名(父类名):

子类不能继承父类的私有属性和私有方法

多态的前提:

类的继承关系

要有方法重写

文件操作

文件模式
r读模式(默认模式,可省略)如果文件不存在则抛出异常
w写模式,如果文件已存在,先清空原有内容
x写模式,创建新文件,如果文件已存在,则抛出异常
a追加模式,不覆盖文件中原有内容
b二进制模式(可与其他模式组合使用)
t文本模式(默认模式,可省略)
+读写模式(可与其他模式组合使用)
文件模式(二)
访问模式说明
r+打开一个文件用于读写,文件指针会放在文件开头
w+打开一个文件用于读写,如已存在则覆盖
a+打开一个文件用于读写,如已存在,则放末尾
rb+以二进制格式打开一个文件用于读写
wb+以二进制格式打开一个文件用于读写,如存在则覆盖
ab+以二进制格式打开一个文件用于追加

文件的读与写:

定位读写:tell:定位读写位置

seek:指定位置读写

顺序读取:read:顺序读取固定长度的数据

readlines:顺序逐行一次性读取全部数据

readline:顺序读取一行数据

顺序写入:write:写入数据追加到文件末尾

writelines:向文件中写入一序列的字符串

CSV文件读写:

csv.writer:列表式写文件

csv.reader:列表式读文件

csv.DictReader:字典式读文件

csv.DictWriter:字典式写文件

?csv.reader(csvfile,dialect=“excel”, delimiter=“,”)

delimiter:指定分隔符,默认逗号

csvwrite.writerow(row):写入一行数据row

csvwrite.writerows(rows):写入多行数据rows

OS模块常用的目录操作函数
函数名功能说明
os.getcwd()当前Python脚本工作的路径
os.listdir(path)返回指定目录下的所有文件和目录名
os.remove(file)删除参数file指定的文件
os.removedirs(path)删除指定目录
os.rename(old,new)文件old重命名为new
os.mkdir(path)创建单个目录
os.stat(path)获取文件属性
os.chdir(path)改变当前工作目录到指定目录

模块与客户端

pip工具常用命令
pip命令示例说明
pip download SomePackage[==version]下载扩展库的指定版本,不安装
pip freeze [> requirements.txt]以requirements的格式列出已安装模块
pip list列出当前已安装的所有模块
pip install SomePackage[==version]在线安装SomePackage模块的指定版本
pip install SomePackage.whl通过whl文件离线安装扩展库
pip install package1 package2 ...依次(在线)安装package1、package2等扩展
模块
pip install -r requirements.txt安装requirements.txt文件中指定的扩展库
pip install --upgrade SomePackage升级SomePackage模块
pip uninstall SomePackage[==version]卸载SomePackage模块的指定版本

安装第三方包

① 在指定环境中安装包

conda install --name <env_name> <package_name>
?<env_name>即将包安装的指定环境名。环境名两边不加尖括号“<>”。
?<package_name>即要安装的包名。包名两边不加尖括号“<>”。
② 在当前环境中安装包
<package_name>即要安装的包名。包名两边不加尖括号“<>”。
安装第三方包
conda install <package_name>

<package_name>即要安装的包名。包名两边不加尖括号“<>”。

import 模块名 as 别名

from 模块名 import 对象名 as 别名

常见的异常类
异常名称? ? ? ? ? ? ? ?描述
ZeroDivisionError 除(或取模)零 (所有数据类型)
NameError 未声明/初始化对象 (没有属性)
SyntaxError 解释器发现语法错误
IndexError 序列中不存在的索引
KeyError 使用映射中不存在的键
FileNotFoundError 试图打开不存在的文件
AttributeError 尝试访问未知对象属性
IndentationError 缩进错误
TabError Tab 和空格混用
ImportError 导入模块/对象失败
IOError 输入/输出操作失败
AssertionError 断言语句失败

assert语句又称作断言,指的是期望用户满足指定的条件。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:36:34  更:2021-12-09 11:37:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:44:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码