Python3.5 学习七
心灵鸡汤
好书推荐:消费者行为学、围城、活着、盲井、三体、北京折叠
静态方法:
@staticmethod #名义上归类管,和类没什么关系,只是引用用"."
在静态方法中,无法访问类或实例的任何属性和方法
类方法:
@classmethod 只能访问类变量,不能访问实例变量
属性方法:
@property 把一个方法调用方式,变成一个静态属性,对用户隐藏其中的实现细节
@setter 属性方法的赋值
@deleter 属性方法的删除 深入讲解类的特殊成员方法:
__doc__ 说明文档
__module__ 模块相对引用路径
__class__ 类相对引用路径
__call__ 相当于对象后面跟()进行实例操作
__dict__ 查看类或者对象中的所有成员 类调用以及实例调用
__str__ 如果一个类中定义了__str__这个方法,那么在打印类的对象时,默认打印这个方法的返回值
__getitem__ 这三个方法可以构造一个字典类,封装自己想实现的方法,自定义一个类似字典的类
__setitem__
__delitem__ __new__
创建类的两种方式:普通方式、特殊方式
def func(self):
print("name is %s,age is %s"%(self.name,self.age))
def __init__(self,name,age):
self.name=name
self.age=age Foo=type('Foo',(),{'talk':func,
'__init__':__init__}) __metaclass__ 元类 表示该类是由哪个类派生出来的
class Foo(object):
__metaclass__=Mytype 则该类由Mytype类继承来的 obj=Foo()
实现过程为:先调用Foo的元类Mytype的__call__(其中先__new__再__init__)
然后再调用Foo类的__call__方法执行___new__和__init__方法,以实例化Foo实例对象
反射详解:
可以用以下四种方法对类的实例中的属性或者方法名进行判断和处理
hasattr(obj,str) 判断是否存在指定字符串的属性或方法名
getattr(obj,str) 取得指定字符串的属性的属性值或方法名的内存地址
setattr(obj,str,str_name) 对该对象设置一个新的方法或属性值
delattr(obj,str) 删除该字符串的方法或属性 异常处理:
try:
code
except except_name1 as e:
print("except_name1 is happened",e)
except (except_name1,except_name2) as e:
print("except_name1 or except_name2 is happened",e)
except Exception as e:
print("其他未匹配到的异常发生",e)
else:
print("一切正常")
finally:
print("无论发生不发生异常,都会执行这里") 注意,如果是因为缩进格式错误,引起的异常是不会被Python解释器识别出来的,只会报错 自定义异常:
class AlexException(Exception):
def __init__(self,message):
self.message=message
# def __str__(self):
# return self.message try:
# 想要主动触发异常,需要使用raise调用
raise AlexException("我自己触发的异常") except AlexException as e:
print(e) 开始网络编程部分: 七层网络架构层的理解:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层 各种协议等:http、ftp、dns、dhcp、cimp ping(网络层)等,基本属于应用层 应用程序在网络间通讯,占用机器上的某一个端口,相当于总机+分机
Socket介绍: 电脑间数据传输,都是在TCP/IP协议 UDP协议规则下,基于IP地址、端口号的数据收、发。
TCP/IP:通讯要经历三次握手 (syn+recv)、四地断开
数据通信的伪代码图示:
洪水攻击:伪造IP地址头,实现瞬间大量链接占用 简单的收发实例的实现 参考代码目录20180807下
通过实例,学习了如何制作简单server-client1的交互
如何通过server向client传送一个较大的视频文件,可以用conn.sendall(data)一次传送,client中client.recv(10240000)多次接收来实现,一次能接收多少是要看系统缓存区大小的
Python3.5 学习七的更多相关文章
- python3.4学习笔记(七) 学习网站博客推荐
python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...
- 从零开始学习PYTHON3讲义(七)条件分支和哥德巴赫猜想
<从零开始PYTHON3>第七讲 人生是由无数个选择组成,每个选择都有不同的限定条件.现在来说人生有点早是吧:)不过事实的确是这样的. 程序也充满着选择,满足不同的条件,则运行不同的运算. ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- python3.4学习笔记(四) 3.x和2.x的区别,持续更新
python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...
- python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- MyBatis学习七:spring和MyBatis整合
<\mybatis\day02\16mybatis和spring整合-sqlSessionFactory配置.avi;> MyBatis学习七:spring和MyBatis整合.逆向工程 ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
随机推荐
- c++动态链接库及静态链接库的生成与使用
1,新建控制台工程xdltest,改属性-配置属性-常规-配置类型为 动态库.dll或静态库.lib2,打开工程后添加 dltest.h, dltest.cpp,其中.h与.cpp名字没必要一样3,编 ...
- SpringMVC 中xml 配置多数据源
1,配置jdbc.properties jdbc.driver_one=... jdbc.url_one=..... jdbc.username_one=... jdbc.password_one=. ...
- js中元素结点的引用
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- TFS自动签出解决方案sln或者项目文件csproj的解决办法
问题: 最近公司一个项目组的源代码解决方案打开时总是出现解决方案或者部分项目被自动签出的情况,但签入又提示没有变更.事情虽 小,导致几个程序员要用项目文件时总是要找其他人签入.浪费不少时间.出现时间有 ...
- Redis OBJECT命令
[Redis OBJECT命令] 1.OBJECT subcommand [arguments [arguments]] OBJECT 命令允许从内部察看给定 key 的 Redis 对象. 它通常用 ...
- java基础一(阅读Head First Java记录)
写在前面的话 在实际应用java中,因为没有系统去看过书或者学习过,所以基础薄弱,刚好这本书是比较入门级的一些书,记录一下下面的一些基本概念,以方便自己来学习.当然如果对大家有帮助也是很好的. 因为书 ...
- 32-python代码打包成exe文件-pyinstaller
安装 pyinstaller: pip install pyinstall 简单使用 最简单的使用方式是运行 pyinstaller myscript.py 来生成可执行文件,其中 myscript. ...
- Python打包工具
打包Python应用,使用工具: 1.Linux和Windows下,使用pyinstaller pyinstaller -F -w XXX.py 在当前文件夹下生成两个文件夹:build .dist ...
- ultraiso制作ubuntu u盘启动
http://blog.csdn.net/yaoyut/article/details/78003061
- MySQL 系列(三)事务
MySQL 系列(三)事务 一组要么同时执行成功,要么同时执行失败的 SQL 语句.是数据库操作的一个执行单元! 事务开始于: 连接到数据库上,并执行条 DML 语句(INSERT. UPDATE 或 ...