python基础
目录
12、文件的拷贝和压缩(shutil模块和zipfile模块)
章节一:python入门
一、海龟绘图(turtle模块的简单使用)
全面介绍及简单的使用:Python海龟绘图:turtle的简单使用_—yzh—的博客-CSDN博客_python海龟绘图
使用turtle画奥运五环:
import turtle turtle.speed(5) # 画图速度 t = turtle.Pen() # 画笔 t.width(10) # 线条宽度 #第一个圆 t.color("blue") # 颜色 t.circle(50) # 半径50像素的圆 t.penup() # 抬笔 t.goto(120, 0) # 移动画笔(相对于原点) t.pendown() # 落笔 # 第二个圆 t.color('black') t.speed(6) t.circle(50) t.penup() t.goto(240, 0) t.pendown() # 第三个圆 t.color('red') t.speed(7) t.circle(50) t.penup() t.goto(60, -50) t.pendown() # 第四个圆 t.color('yellow') t.speed(8) t.circle(50) t.penup() t.goto(180, -50) # 第五个圆 t.pendown() t.color('green') t.speed(9) t.circle(50) # 文字内容 #t.write() # 保持窗口不关闭 turtle.done()
章节二、编程基本概念
1、三种进制的写法
数字在计算机中表现方式常见的有四种:二进制、八进制、十进制、十六进制。 二进制 基数:0,1 11011+10111=110010 位权:11011 = 24+23+21+20 程序中表示二进制数 在数字前加0b或者0B 八进制 基数:0,1,2,3,4,5,6,7 进位:逢八进一 位权:123=18^2+281+3*80 程序中表达方式:在表达数之前0o或者0O 十进制 基数:0,1,2,3,4,5,6,7,8,9 位权:1231 = 110^3+2102+3*101+1*10^0 程序中的表示方式:直接写 十六进制 基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 进位: 逢16进1 位权:123 = 116^2+2161+2*160 在程序中的表示方式 数字前加0x或0X 原文链接:https://blog.csdn.net/weixin_34434843/article/details/113968708
2、数字格式化
数字格式化
a = "我是{0},我的存款有{1:.2f}" #{1:.2f},f表示浮点数,.2表示2位小数位
c = a.format("Lily",520.1314)
print(c) #结果:我是Lily,我的存款有520.13数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (冒号后面0补充,右对齐宽度为2)
5 {:x<4d} 5xxx 数字补 x (冒号后面x补充,左对齐宽度为4)
10 {:x<4d} 10xx 数字补 x (冒号后面x补充,左对齐宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式(.2小数位为2位)
1000000000 {:.2e} 1.00E+09 指数记法(.2小数位为2位)
13 {:10d}&{:>10d} 13 右对齐(默认, 宽度为 10)
13 {:<10d} 13 左对齐宽度为 10)
13 {:^10d} 13 中间对齐(宽度为 10)
————————————————
原文链接:Python中的数字格式化_围城客的专栏-CSDN博客_python数字格式
3、python基础-BytesIO,StringIO
StringIO
常用方法
1、read
s.read([n]):参数n用于限定读取的长度,类型为int,默认为从当前位置读取对象s中所有的数据。读取结束后,位置被移动。2、readline
s.readline([length]):length用于限定读取的结束位置,类型为int,缺省为None,即从当前位置读取至下一个以’\n’为结束符的当前行。读位置被移动。3、readlines
s.readlines():读取所有行4、write
s.write(s):从读写位置将参数s写入到对象s。参数为str或unicode类型,读写位置被移动。5、writeline
s.writeline(s):从读写位置将list写入给对象s。参数list为一个列表,列表的成员为str或unicode类型。读写位置被移动6、getvalue
s.getvalue():返回对象s中的所有数据7、truncate
s.truncate([size]):从读写位置起切断数据,参数size限定裁剪长度,默认为None8、tell
s.tell() #返回当前读写位置9、seek
s.seek(pos[,mode]):移动当前读写位置至pos处,可选参数mode为0时将读写位置移动到pos处,为1时将读写位置从当前位置移动pos个长度,为2时读写位置置于末尾处再向后移动pos个长度。默认为010、close
s.close():释放缓冲区,执行此函数后,数据将被释放,也不可再进行操作。11、isatty
s.isatty():此函数总是返回0。不论StringIO对象是否已被close。12、flush
s.flush():刷新缓冲区。
章节三、序列(字符串、列表、元组、集合、字典)
1.列表
常见方法:
count():统计某个元素在列表中出现的次数。
index():从列表中找出某个值第一个匹配项的索引位置。
append():在列表末尾添加新对象。
extend():在列表末尾一次性追加另一个序列的多个值。
insert():在列表的指定位置插入对象。
pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
remove():移除列表中某个值的第一个匹配项。
reverse():将列表中的元素反向,不重新拷贝一个列表。
reversed():将列表中的元素反向,重新拷贝一个列表。
sort():将列表中的元素排序,不重新拷贝一个列表。
sortd():将列表中的元素排序,重新拷贝一个列表。
copy():浅拷贝,只是给原来的列表贴上了一个新标签,对于一个复杂对象的子对象并不会完全复制,如果有子列表,改变原来的值,新的拷贝对象也会改变。
deepcopy():深拷贝,将复杂对象的每一层复制一个单独的个体出来。就是完全拷贝。常见内置函数:max()、min()、sum()、len()、all()、any()、zip()、enumerate()
更详细内容:Python中列表(List)的基本用法 - 简书列表4种创建方式:
一、基本语法[]创建
a = []
print(a) #结果,创建空的列表 []b = [1,2,"abc"]
print(b) #结果:[1, 2, 'abc']
print(b[2]) #结果:abc二、list()创建
c = list()
print(c) #结果:创建一个空的列表
c.append(1)
print(c) #结果:[1]c = list("abcdefg")
print(c) #结果:['a', 'b', 'c', 'd', 'e', 'f', 'g']d = list(range(10))
print(d) #结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]三、range()创建整数列表
range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。语法格式为:
range([start],end ,[step])
start 参数:可选,表示起始数字。默认是 0
end 参数:必选,表示结尾数字。
step 参数:可选,表示步长,默认为 1e = list(range(0,10,2))
print(e) #结果:[0, 2, 4, 6, 8]f = list(range(10,0,-1))
print(f) #结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]g = list(range(-10,-30,-2))
print(g) #结果:[-10, -12, -14, -16, -18, -20, -22, -24, -26, -28]四、推导式生成列表(简介一下,重点在 for 循环后讲)
h = [x*2 for x in range(10)]
print(h) #结果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]k = [x*2 for x in range(100) if x%9==0]
print(k) #结果:[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
2.元组(turple)
常用的方法:
以numbers为例 numbers = (1, 2, 3, 4, 5, 4, 1, 2, 1)
print(numbers.index(5)) # 查找数据的下标
print(numbers.count(1)) # 出现的次数
print(min(numbers)) # 返回最小值
print(max(numbers)) # 返回最大值
print(len(numbers)) # len() 求元组的长度
list1 = [1, 2, 3]
print(tuple(list1)) # tuple() 将列表转换成元组元组 tuple的定义#
列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的
元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。我们只需要学习元组的创建和删除,元组中元素的访问和计数即可。元组支持如下操作:
- 索引访问
- 切片操作
- 连接操作
- 成员关系操作
- 比较运算操作
- 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等。
元组的创建#
通过()创建元组。小括号可以省略。#
a = (10,20,30) 或者 a = 10,20,30
注:如果元组只有一个元素,则必须后面加逗号。这是因为解释器会把
(1)
解释为整数 1,(1,)
解释为元组。通过 tuple()创建元组,tuple(可迭代的对象)#
b = tuple() #创建一个空元组对象 b = tuple("abc") b = tuple(range(3)) b = tuple([2,3,4])
元组的元素访问和计数#
元组的元素不能修改#
>>> a = (20,10,30,9,8) >>> a[3]=33 Traceback (most recent call last): File "<pyshell#313>", line 1, in <module> a[3]=33 TypeError: 'tuple' object does not support item assignment
元组的元素访问和列表一样,只不过返回的仍然是元组对象。#
>>> a = (20,10,30,9,8) >>> a[1] 10 >>> a[1:3] (10, 30) >>> a[:4] (20, 10, 30, 9)
列表关于排序的方法 list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序