首页
学习
活动
专区
工具
TVP
发布

python百例

python入门级代码,所有例子均在CentOS7下完成,采用了python3.6.x。
专栏成员
130
文章
77445
阅读量
191
订阅数
129-Vscode For Centos
创建的文件扩展名以.py结尾,如hello.py,在编写python代码时,就有代码补全提示了!
凯茜的老爸
2020-11-24
9661
122-python交互解释器tab补全功能
进入python交互解释器后,按tab键默认是缩进功能,而不是代码补全。为了实现代码补全,可以采用如下操作: 1、创建指令补全文件
凯茜的老爸
2018-12-13
8260
117-可变与不可变对象的效率
python是一种解释型的语言,执行效率要比C这样的编译型语言差得多,但是也应该注意它的效率。 python的各种数据类型,按更新模型可以分为可变类型(如列表、字典)和不可变类型(如数字、字符串和元组)。多使用可变类型,它的执行效率比不可变类型要高。 在《37-生成密码/验证码》中,将结果保存到了一个名为 result 的变量中。result 是字符串,字符串不可变,所以python在工作时,首先要申请一段内存储 result 的初值(空串''),随机取得一个字符后(如'a'),result += 'a'实际上是要重新申请一个新的内存,把新字符串存储进去。如此往复,有几次循环,就要重新分配几次内存。 如果变量 result 使用列表,只需要为其分配一次内存即可,因为列表是可变的。代码可以更改为以下样式:
凯茜的老爸
2018-10-10
5090
115-fork子进程解析
当使用fork编写多进程的程序时,应该想清楚父子进程的工作各是什么。比如,让父进程生成子进程,子进程做具体的工作。当子进程执行完毕后,需要exit退出。如果不退出,它仍然在循环结构中,子进程还会再生成子进程。 以下代码:
凯茜的老爸
2018-09-11
1.6K1
114-百鸡百钱问题
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 思路: 1、答案不只一个 2、如果全是公鸡i,最多100/5只 3、如果全是母鸡j,最多100/3只 4、如果全是小鸡k,100块钱,可以买300只;但,所有的鸡最多是100只 5、鸡的数目i+j+k==100 6、鸡的价钱i * 5 + j * 3 + k / 3 == 100
凯茜的老爸
2018-09-11
9060
113-模拟字符串rstrip用法
思路参考 112-模拟字符串lstrip用法 whitesps = ' \r\n\v\f\t' def rmrsps(astr): for i in range(-1, -len(astr), -1): # 自右向左,下示为负 if astr[i] not in whitesps: return astr[:i + 1] # 结束下标对应的字符不包含,所以加1 else: return '' if __name__ == '__
凯茜的老爸
2018-09-11
5000
112-模拟字符串lstrip用法
思路: 1、取出字符串长度 2、通过range和字符串长度得到字符串下标 3、找到非空字符串下标,剩余部分取切片 4、如果字符串没有非空字符,返回空串
凯茜的老爸
2018-09-11
3390
109-基于多线程的时间消息服务器
与106-基于多进程的时间消息服务器类似,只是换成了多线程。 import socket import threading from time import strftime class TcpTimeServer: def __init__(self, host='', port=12345): self.addr = (host, port) self.serv = socket.socket() self.serv.setsockopt(soc
凯茜的老爸
2018-09-11
3570
108-多线程的效率
python的多线程有一个GIL(全局解释器锁),使得多个线程,某一时刻只有一个线程发送给CPU处理。所以多线程不适用计算密集型应用,更适合IO密集型应用。 以下两次计算5000万次加法运算和不用多线程相比,没有效率的提升。因为CPU有上下文切换,甚至可能多线程更慢。
凯茜的老爸
2018-09-11
4510
107-基于多线程的ping
多线程与多进程类似,但是每个线程没有自己的资源空间,它们共用进程的资源。 多线程没有僵尸进程的问题。
凯茜的老爸
2018-09-11
4950
106-基于多进程的时间消息服务器
1、支持多客户端同时访问 2、客户端向服务器发送消息后,服务器把消息加上时间发回客户端 3、每个客户端断开后会产生僵尸进程,新客户端连接时销毁所有的僵尸进程
凯茜的老爸
2018-09-11
6760
105-解决僵尸进程问题
os.waitpid()的第2个参数,0表示挂起父进程,1表示不挂起父进程。 import os import time pid = os.fork() if pid: print('In parent. sleeping...') print(os.waitpid(-1, 1)) # 无僵尸进程可以处理,返回0 time.sleep(20) print(os.waitpid(-1, 1)) # 处理僵尸进程,返回子进程PIP time.sleep(60)
凯茜的老爸
2018-09-11
3830
104-僵尸进程
多进程编程要注意僵尸进程。子进程没有可执行代码后将变成僵尸进程,如果父进程一直运行,又没有处理僵尸进程的代码,僵尸进程也将一直存在,消耗资源。僵尸进程无法通过kill命令杀掉。
凯茜的老爸
2018-09-11
8040
103-多进程的效率
没有多进程,即使CPU有多个核心,程序只是运行在一个核心上,无法利用多进程提升效率。5000万次加法,如果需要2.5秒,调用两次共花费5秒。
凯茜的老爸
2018-09-11
3250
102-多进程的ping
没有多进程,ping一个网段的IP地址往往要花费几十分钟;使用多进程,几秒钟解决。
凯茜的老爸
2018-09-11
6100
101-多进程基础
fork()后会出现子进程,父子进程都打印Hello World!,所以会有两行相同的内容输出。
凯茜的老爸
2018-09-11
3110
100-简单的UDP客户端流程
UDP客户端非常简单,只要把数据发送到服务器地址就可以了。 import socket host = '192.168.4.254' port = 12345 addr = (host, port) c = socket.socket(type=socket.SOCK_DGRAM) while True: data = input('> ') if data.strip() == 'quit': break c.sendto(data.encode('utf8'
凯茜的老爸
2018-09-11
6870
99-简单的UDP服务器流程
UDP是非面向连接的,不用listen、不用accept。 UDP不区分客户端,就算是同一客户端发来的多个数据包,udp服务器也不区分,与处理多个客户端发来的数据包等同对待。
凯茜的老爸
2018-09-11
1.5K0
98-简单的TCP客户端
客户端连接服务器的12345端口,在单独的一行输入end结束客户端程序。 import socket host = '192.168.4.254' # 服务器IP地址 port = 12345 # 服务器端口 addr = (host, port) c = socket.socket() c.connect(addr) while True: data = input('> ') + '\r\n' c.send(data.encode('utf8')) # 服务器收到end结束,所
凯茜的老爸
2018-09-11
1K0
97-简单而完整的TCP服务器
客户端可以通过telnet 127.0.0.1 12345来访问。 每发送一段文字,将会收到加上当前时间的文字。
凯茜的老爸
2018-09-11
5850
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档