全面系统Python3.8入门+进阶 【程序员必备第二语言】

无论是大数据、人工智能还是机器学习,Python都是最热门的首选语言 ,这次课程,就将带你从基础入门Python3,掌握Python3.x 版本语法,并结合讲师实际工作经验讲解Python使用技巧以及数据结构等相关知识,并为你精心配套了练习题目及实战案例。

  • 第1章 Python入门导学

    介绍Python的特性、优点、缺点、前景以及课程的内容、重点和特色。

    •  1-1 导学试看
    •  1-2 Python的特性
    •  1-3 我为什么喜欢Python
    •  1-4 Python的缺点
    •  1-5 一个经典误区
    •  1-6 python能做些什么?
    •  1-7 课程内容与特点
    •  1-8 Python的前景
    •  1-9 课程维护与提问。
    •  1-10 2020.2 更新说明
  • 第2章 Python环境安装

    一键安装Python的编译环境,写出第一段Python代码

    •  2-1 如何有效提问(文章推荐)
    •  2-2 Python学习建议(重要)
    •  2-3 Python版本选择说明
    •  2-4 Python多版本问题
    •  2-5 Python Mac版本问题指南(选看)
    •  2-6 下载Python安装包
    •  2-7 安装Python
    •  2-8 IDLE与第一段Python代码
  • 第3章 理解什么是写代码与Python的基本类型

    本章详细介绍了Python的基本类型,包括整形、浮点型;10、8、2、16进制数的意义和转换关系;布尔类型;字符串与字符串常见运算操作

    •  3-1 什么是代码,什么是写代码试看
    •  3-2 数字:整形与浮点型试看
    •  3-3 10、2、8、16进制
    •  3-4 各进制的表示与转换
    •  3-5 数字:布尔类型与复数
    •  3-6 字符串:单引号与双引号
    •  3-7 多行字符串
    •  3-8 转义字符
    •  3-9 原始字符串
    •  3-10 字符串运算 一
    •  3-11 字符串运算 二
    •  3-12 字符串运算 三
  • 第4章 Python中表示“组”的概念与定义

Python3 网络编程
Python 提供了两个级别访问的网络服务。:

低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。
高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

socket()函数
Python 中,我们用 socket()函数来创建套接字,语法格式如下:

socket.socket([family[, type[, proto]]])
参数
family: 套接字家族可以使AF_UNIX或者AF_INET
type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM
protocol: 一般不填默认为0.
Socket 对象(内建)方法
函数	描述
服务器端套接字
s.bind()	绑定地址(host,port)到套接字, 在AF_INET下,以元组(host,port)的形式表示地址。
s.listen()	开始TCP监听。backlog指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为1,大部分应用程序设为5就可以了。
s.accept()	被动接受TCP客户端连接,(阻塞式)等待连接的到来
客户端套接字
s.connect()	主动初始化TCP服务器连接,。一般address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。
s.connect_ex()	connect()函数的扩展版本,出错时返回出错码,而不是抛出异常
公共用途的套接字函数
s.recv()	接收TCP数据,数据以字符串形式返回,bufsize指定要接收的最大数据量。flag提供有关消息的其他信息,通常可以忽略。
s.send()	发送TCP数据,将string中的数据发送到连接的套接字。返回值是要发送的字节数量,该数量可能小于string的字节大小。
s.sendall()	完整发送TCP数据,完整发送TCP数据。将string中的数据发送到连接的套接字,但在返回之前会尝试发送所有数据。成功返回None,失败则抛出异常。
s.recvfrom()	接收UDP数据,与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。
s.sendto()	发送UDP数据,将数据发送到套接字,address是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。
s.close()	关闭套接字
s.getpeername()	返回连接套接字的远程地址。返回值通常是元组(ipaddr,port)。
s.getsockname()	返回套接字自己的地址。通常是一个元组(ipaddr,port)
s.setsockopt(level,optname,value)	设置给定套接字选项的值。
s.getsockopt(level,optname[.buflen])	返回套接字选项的值。
s.settimeout(timeout)	设置套接字操作的超时期,timeout是一个浮点数,单位是秒。值为None表示没有超时期。一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如connect())
s.gettimeout()	返回当前超时期的值,单位是秒,如果没有设置超时期,则返回None。
s.fileno()	返回套接字的文件描述符。
s.setblocking(flag)	如果flag为0,则将套接字设为非阻塞模式,否则将套接字设为阻塞模式(默认值)。非阻塞模式下,如果调用recv()没有发现任何数据,或send()调用无法立即发送数据,那么将引起socket.error异常。
s.makefile()	创建一个与该套接字相关连的文件

第14章 Pythonic与Python杂记

本章我们将大量扩展Python的优秀写法,学会如何写出优质的Pythonic风格的代码。包括:如何让字典保持有序、lmbda表达式的应用等高级Python知识

  •  14-1 导言
  •  14-2 用字典映射代替switch case语句
  •  14-3 列表推导式
  •  14-4 字典如何编写列表推导式
  •  14-5 iterator与generator
  •  14-6 None
  •  14-7 对象存在并不一定是True
  •  14-8 __len__与__bool__内置方法
  •  14-9 装饰器的副作用
  •  14-10 当我们谈编程能力的时候,我们谈的是什么(选自Java全栈体系课程小节)
  •  14-11 py3.8新增海象运算符
  •  14-12 f关键字做字符串拼接
  •  14-13 py3.7新增数据类dataclass装饰器
#!/usr/bin/python3
# 文件名:server.py

# 导入 socket、sys 模块
import socket
import sys

# 创建 socket 对象
serversocket = socket.socket(
            socket.AF_INET, socket.SOCK_STREAM) 

# 获取本地主机名
host = socket.gethostname()

port = 9999

# 绑定端口号
serversocket.bind((host, port))

# 设置最大连接数,超过后排队
serversocket.listen(5)

while True:
    # 建立客户端连接
    clientsocket,addr = serversocket.accept()      

    print("连接地址: %s" % str(addr))
    
    msg='欢迎访问菜鸟教程!'+ "\r\n"
    clientsocket.send(msg.encode('utf-8'))
    clientsocket.close()

 

 链接:https://pan.baidu.com/s/1O8gMQOCvyKh7xxkOm4APkw 
提取码:8ie5 
复制这段内容后打开百度网盘手机App,操作更方便哦

一起交流学习吧。vx:IT_Promise

你可能感兴趣的:(全面系统Python3.8入门+进阶 【程序员必备第二语言】)