| |
|
开发:
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])第一次出现的下标 把多个值赋给一个变量时,自动把多个值封装成元组 当我们在进行序列解包时,只想解除部分元素时,可以在变量的左边加*,该变量会变成列表,保存多个元素
list1=[1,2,3,4,5,6] print(list1.insert(3,6))
列表推导式:[表达式 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 字符串常用方法: 内容未变化:
内容变换:
str.split(sep,maxsplit) sep:用于指定分隔符 maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为maxsplit+1,如果不指定或指定为-1,则表示分割次数没有限制 替换与合并 join 字符链接 replace 单个替换 maketrans 逐一替换(生成字符串映射表) translate 逐一替换 str.replace(old,new) 字符串常用操作 常用操作:
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
继承: class 子类名(父类名): 子类不能继承父类的私有属性和私有方法 多态的前提: 类的继承关系 要有方法重写 文件操作
文件的读与写: 定位读写: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
模块与客户端
安装第三方包 ① 在指定环境中安装包 conda install --name <env_name> <package_name> <package_name>即要安装的包名。包名两边不加尖括号“<>”。 import 模块名 as 别名 from 模块名 import 对象名 as 别名 常见的异常类 assert语句又称作断言,指的是期望用户满足指定的条件。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |