(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
import traceback
设定ip和端口号
host = ‘’
port = 51423
建立socket服务器
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen()
while True:
等待连接
try:
clientsock, clientaddr = s.accept()
except KeyboardInterrupt:
raise
except:
traceback.print_exc()
continue
其中,AF_INET指的是用IPv4进行通信,而SOCK_STREAM指的是TCP协议。端口号你可以随意设定,服务器端的IP地址默认为空即可。
在while循环中不断等待用户的连接。如果有用户连接成功了,我们将进入下一步,分别建立发送和接受线程:
建立接收线程
t = _thread.start_new_thread(processRecv, (clientsock,))
建立发送线程
r = _thread.start_new_thread(processSend, (clientsock,))
clientsock就是我们得到的socket连接,processRecv和processSend分别用于处理接受信息和处理发送信息:
import _thread
def processRecv(clientsock):
“”"
接受消息
:param clientsock: 客户端的socket连接
“”"
while True:
data = clientsock.recv(4096)
if not len(data):
break
print (data.decode(‘utf-8’))
clientsock.close()
def processSend(clientsock):
“”"
发送消息
:param clientsock: 客户端的socket连接
“”"
while True:
data = input("> ")
data = data
clientsock.sendall(data.encode(‘utf-8’))
clientsock.close()
有个小细节要注意,socket连接的sendall函数只支持bytes类型的数据,所以我们要encode(‘utf-8’)。
服务端的所有代码就这样,没错,就是这么简单。
客户端则更简单,主线程本身设定为接受消息,那么我们只需要多一个线程用于发送消息即可。客户端的全部代码如下:
import _thread
import sys
from socket import *
def send_message(tcpCliSock):
“”"
发送信息
:param tcpCliSock: 与服务端的socket连接
“”"
while True:
message = input('> ')
if not message:
break
tcpCliSock.send(message.encode(‘utf-8’))
tcpCliSock.close()
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!