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. ...
随机推荐
- 43.国际化-app级别的资源文件
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在src目录下建立两个资源文件,取名为myapp_en_US.propert ...
- 无法定位程序输入点 Can't load package
---------------------------Toggle Form/Unit (F12): bcb.exe - 无法找到入口--------------------------- 无法定位程 ...
- 如何让自己的exe程序开机自启动
方法一. ①鼠标右键自己的exe程序,创建快捷方式 ②win+R,打开运行对话框,输入shell:startup,如下图: 将exe文件的的快捷方式拷贝到这个目录下,然后下次重启的时候自己的应用程序就 ...
- LUA 运行期间不独占线程的递归,通过回调实现
function main(d) local function func(d) moveto(d, function() print("d=======", d) d = d - ...
- python模块的打包
python模块的打包方法: http://blog.csdn.net/five3/article/details/7847551
- spring security+cas(cas proxy配置)
什么时候会用到代理proxy模式? 举一个例子:有两个应用App1和App2,它们都是受Cas服务器保护的,即请求它们时都需要通过Cas 服务器的认证.现在需要在App1中通过Http请求访问App2 ...
- Simple Style
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...
- 获取set()和push()方法向值栈放的数据
------------------siwuxie095 获取 set() 方法向值栈放的数据 1.具体步骤 (1)在 Action 中使用 set() 方法向值栈放数据 (2)在 JSP 页面中从值 ...
- 外层div高度不随内层div高度改变的解决办法
当b1和b2都是float=left时候,a1层的高度不会被b1和b2的高度撑开. <div id=“div1″> <div id=”div2″ style="float: ...
- JS Code Snippet --- Cookie
<a id="quitBtn" href="#" class="exit">Exit</a> <a id=&q ...