Python操作
turtle海龟绘图
- import<库名>as<库别名>
from<库名>import<函数名>
form<库名>import* - turtle.penup()别名turtle.pu() 抬起笔
turtle.pendown() 别名turtle.pd()下笔
turtle.pensize()别名turtle.width(width) 海龟的腰围
turtle.pencolor(r,b,g) 颜色 turtle.pencolor(“purple”) 或 (0.1,0.1,0.1) 或 ((0.1,0.1,0.1))<里面可以是元组>
turtle.forword(x) 别名 turtle.fd(x)走直线 x为负数向后走
turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形默认圆心在海龟的左侧 r为负数圆心在右侧
turtle.setheading(angle) 别名 turtle…seth(angle)改变海龟方向
数据类型
二进制0b101 0B101
八进制0o123 0O123
十六进制 0x9a 0X9a
- round(x[,d]) 对x四舍五入,d时小数截取位数 默认取整
- x.real x.imag 获得x的实部和虚部
- divmod(x,y)商余 同时输出商和余数(x//y,x%y)
- pow(x,y[,z]) 幂余 (x**y)%z
- int(“12.3”) 强转 里面可以时任何数据类型
- a=complex(1,2)
- //:整除
- **:幂
- %:求模 可以用于小数
字符串操作
- <字符串>[M:N] 表示从M位置到N位置,不包括N位置 M缺失表示至开头,N缺失表示至结尾
- <字符串>[M:N:K] 根据步长对字符串切片 M和N都缺失表示从开始到结束,如果K为-1 则从后往前
- n*x 复制n字符串x次
- ch in str 如果ch是str的某一段return 1
- str() 和 eval()相反
- len(x) 得到x的长度
- hex(x) 或 oct(x) 整数x的十六进制或八进制小写形式变成字符串
- bin(x) :整数x变成2进制
- chr(u) u为unicode编码,返回气对应的字符
- ord(x) x为字符,返回气对应的unicode编码
- 小栗子
- str.lower() str.upper 全部变成大写/小写
- str.split(sep=None) 返回一个列表,由str根据set被分割的部分组成 例如“A,B,C”.split(“,”) 结果返回为[‘A’,‘B’,‘C’]
- str.count( c) 返回字串c在str出现的次数
- str.replace(old,new) 返回字符串str的副本,所有old字串被替换为new
- str.center(width[,fillchar]) 字符串根据width居中,fillchar可选
- str.strip(chars) 从str中除去chars内出现的字符 ‘12 +3’.strip(’ +'1)等于’23‘
- str.join(iter) 在每个元素中除最后一个元素后面添加一个str!!这里str是添加的元素!!!
time库
- time.time() 获取当前时间戳 1900年到现在以秒为单位的数值
- time.ctime() 可读时间
- time.gmtime() 获取计算机可处理的时间格式
- strftime(tpl,ts)
- 程序计时
异常处理
except后面可以不加一场名称
发生异常处理语句2,不发生执行3,无论发不发生都要执行4
else扩展
随机函数
如果不用种子,那么默认的种子就是时间
种子相同,产生的随机序列也相同,可以再现随机过程(调用依次seed
函数即可重现)
函数部分
可变参数:不确定有几个参数
全局变量和局部变量
lambda函数
内置函数
sorted()
map()
zip()
eval() and exec()
all() and any()
模块 and 包
sys
类与对象
私有公有
继承和多态
Pyinstaller
组合数据类型
集合
列表类型
元组数据类型
s.tuple(ls) 把ls变为元组
字典类型
文本单词记录实例
以键值对的第二个元素为排序序列,从大到小排序
文件和数据格式化
文本文件
二进制文件
写文件
一维二维数据格式
OS库
路径操作
脚本自动安装第三方库
数据结构与人工智能
爬虫
人机交互到艺术设计
图形处理
PyQt5
wxPython
PyGObject
游戏开发
Pygame
Panda3D
cocos2d
虚拟现实
VR Zero
pyovr
Vizard
图形艺术
Quads
ascii_art
Web 开发
URL
标签
CSS
乱入c文件操作
编写服务器
背景:有两个程序,一个客户端一个服务端,他们在发生信息交互,那么之间的细节有哪些呢?
问题1:我作为客户端,我想发送数据给服务器那么我就要发送数据,数据怎么发送,写在哪里呢?
答:通过各自的协议发送,通过socket来互相交换信息。通过send()和recv()方法来发送。
问题2:发送之前的三次握手谁来发的?
答:connect()和服务器进行握手,握手的信息是操作系统内核发送和接受的,这些都是写操作系统的人写好的底层代码,返回给你的就是我们自己需要的一些信息。
问题3:能不能获取到ip信息之后就在服务器端绑定ip来进行数据收发?
答:不行的,我们需要的数据只是给我们看的,还有一些握手信息和态信息是需要给操作系统看的,他们会记录下。所以图下那个cli_so就是返回给我们看的信息。
问题4:socket在每个操作系统搜存在吗?
答:不是的,网络功能是计算机发展到后面计算机中的一个复杂的功能,是因为人们的需求,编写操作系统的人才把网络协议写进去。
HTTP
问题1:HTML语言是什么?
答:是超文本标记语言,这是一种规定,就好比word文档后缀名改成rar压缩包形式,解压出来就是一个文件,文件里面有xml文件,能解析文字的样式并且渲染出来给我们看。
问题2:HTML为什么能让我们看到这么多效果?
答:给我们看到效果的不是HTML,而是浏览器,浏览器充当了渲染这一角色,把html文件里面的标记渲染成了我们需要看到的。
问题3:为什么浏览器能让我们看到这么多?他是每个规定协议都支持吗?
答:因为浏览器根据一系列算法,会把标记渲染成我们想看见的,也就是浏览器内核干的事情,每个浏览器的内核都不一样,处理字符常的算法也不一样,算法决定了处理的快慢。有些浏览器不支持一些标签,这是根据浏览器内核来的,编写内核的人写了处理这一标签的算法那就可以处理。
tips:浏览器还有JavaScript解释器
tips:POST请求账号密码是放在请求体中
tips:标志GET方式是不会带请求体数据的,URL后面的?之后的都是放在请求头中的例如查询字符串Query。POST也可以带?
问题4:浏览器怎么和别的服务器进行通信?