<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[依の手帳]]></title><description><![CDATA[依の手帳]]></description><link>https://blog.youkuaiyun.com/tszty1997</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tszty1997]]></copyright><item><title><![CDATA[协程]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/85036544</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/85036544</guid><author>tszty1997</author><pubDate>Sun, 16 Dec 2018 14:03:33 +0800</pubDate><description><![CDATA[1.概念

协程又称纤程,轻型线程,指同一线程中能够互相切换的多个任务.

协程是代码级别的,对于操作系统来说并不可见.

由于协程之间的切换是代码级别的,不涉及到操作系统,不需要操作系统去进行切换,所有协程更加高效.

协程能够提高线程对CPU的利用率.

协程的特点:

与进程,线程比起来,协程不存在数据不安全的问题.
	协程不能利用多核的性能.
协程是python中比较好的工具.

2.基本...]]></description><category></category></item><item><title><![CDATA[线程]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/85035573</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/85035573</guid><author>tszty1997</author><pubDate>Sun, 16 Dec 2018 13:47:31 +0800</pubDate><description><![CDATA[1.概念

线程是轻量级的进程,它的存在依赖于进程.
	线程只被分配给运行所需最低限度的系统资源(寄存器,栈),所以同一进程内的多个线程数据是共享的.
	线程是计算机中被CPU调度的最小单位.
2.守护线程

守护线程与守护进程不同,守护线程随着主进程的结束才结束.
	主线程不负责子线程的资源回收.
	通过obj.setDaemon(True)或设置daemon参数的方式设置为守护线程.
3.GI...]]></description><category></category></item><item><title><![CDATA[进程]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/85031211</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/85031211</guid><author>tszty1997</author><pubDate>Sun, 16 Dec 2018 13:05:31 +0800</pubDate><description><![CDATA[1.概念

进程是对进行中的程序的一种称呼.
	多个进程之间互相数据隔离.
	进程是操作系统中最小的资源分配单位.
2.进程的三种状态

就绪:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态.

运行:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态.

阻塞:由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态.
...]]></description><category></category></item><item><title><![CDATA[TCP与UDP]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84887845</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84887845</guid><author>tszty1997</author><pubDate>Sat, 08 Dec 2018 15:21:10 +0800</pubDate><description><![CDATA[1.TCP协议

1.1介绍

TCP是Transmission Control Protocol缩写,中文名为传输控制协议.
	TCP协议是一种面向连接的,可靠的,基于字节流的传输层通信协议(流式传输).
	TCP协议是点对点的,并且效率不如UDP.
	TCP协议为了保证不发生丢包,会给每个包一个编号,接收端会按编号进行接收,成功收到后会向发送端发送一个相应的确认.如果发送端在一定时间内没有接收...]]></description><category></category></item><item><title><![CDATA[configparser模块用法]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84673685</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84673685</guid><author>tszty1997</author><pubDate>Sat, 01 Dec 2018 15:47:30 +0800</pubDate><description><![CDATA[configparser模块是python内置的一个用于处理配置文件(.ini文件)的模块.


import configparser
config = configparser.ConfigParser()
config['phonenum'] = {'ergou':'13344445555'}
with open('example.ini', 'w') as f:
   config.wri...]]></description><category></category></item><item><title><![CDATA[异常处理]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84668416</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84668416</guid><author>tszty1997</author><pubDate>Sat, 01 Dec 2018 15:24:39 +0800</pubDate><description><![CDATA[异常处理的基本语法:


try:
    error
except NameError:
    print('遇到异常时执行这里')

以上就是一个单分支单异常的处理,这种方式是异常处理中最常用的.除了单分支单异常,还有下面几种

单分支多异常:


try:
     被检测的代码块
except (异常类型1,异常类型2.....)：
     try中一旦检测到以上异常类型，就执行这里
...]]></description><category></category></item><item><title><![CDATA[logging模块用法]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84668437</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84668437</guid><author>tszty1997</author><pubDate>Sat, 01 Dec 2018 14:31:57 +0800</pubDate><description><![CDATA[logging模块是python内置的一个日志模块,用于更加方便和灵活的记录日志文件.

有两种方式使用logging模块来记录日志:

1.基础配置


import logging
logging.basicConfig(level = logging.INFO,     #只打印大于此等级的日志
                    format = '%(asctime)s %(leve...]]></description><category></category></item><item><title><![CDATA[hashlib模块用法]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84668403</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84668403</guid><author>tszty1997</author><pubDate>Sat, 01 Dec 2018 13:33:55 +0800</pubDate><description><![CDATA[hashlib模块是Python内置的一个摘要模块,这个模块中有多种算法,例如md5,sha1等,但是这些算法的作用相同,就是用于将一个字符串通过计算得到一串密文.

这些算法有以下特点:

加密的过程不可逆,不能通过加密后的密文解密得到原字符串.
	对于同一字符串,使用同一算法计算得到的密文结果永远一致.
	对于不同的字符串(即使是只多了一个空格),计算的结果永远不同.
由于以上这些特点,has...]]></description><category></category></item><item><title><![CDATA[面向对象基础]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84329995</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84329995</guid><author>tszty1997</author><pubDate>Sat, 24 Nov 2018 14:41:24 +0800</pubDate><description><![CDATA[python中一切皆为对象

例如,python中的基础数据类型就是类,str是类,'abc'就是str的对象

1.类

定义:类是具有相同属性和方法的一类事物

类名的首字母一般大写

1.1类属性

在类中,方法外定义的属性就叫做类属性,类属性属于类,由所有类的对象共享

在使用类属性时,一般都通过类名.类属性名来使用.

1.2方法

函数在类中定义,由类的对象调用时就叫做方法
	方法的第...]]></description><category></category></item><item><title><![CDATA[面向对象的三大特性]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84433097</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84433097</guid><author>tszty1997</author><pubDate>Sat, 24 Nov 2018 13:52:56 +0800</pubDate><description><![CDATA[面向对象编程的三大特性分别是继承,封装和多态.

1.继承

继承是指在原有类的基础上创建新的类,新的类可以有自己特有的功能,也可以继承父类的功能.

继承可以很方便的复用已有的代码,大大减少重复的代码量.

python是支持多继承的.

1.1父类与子类

父类又被称为基类,超类;子类又被称为派生类.

子类中有一个类指针指向父类,会继承父类中的属性/方法,如果子类中有与父类中相同名称的属性/...]]></description><category></category></item><item><title><![CDATA[初识C3算法]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84430501</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84430501</guid><author>tszty1997</author><pubDate>Sat, 24 Nov 2018 11:36:43 +0800</pubDate><description><![CDATA[在python3中,所有的类都是新式类,继承顺序遵循广度优先的C3算法.

C3算法的规则如下:

每一个类的继承顺序都是从父类向子类看
	形成一个指向关系的顺序[当前类]+[父类的继承顺序]
	如果一个类出现在从左到右的第一个顺序上并且没有出现在后面顺序中或者出现在后面的顺序中但是仍然是第一顺序,那么就把这个类提取出来
例如下图:

                               ...]]></description><category></category></item><item><title><![CDATA[常用内置模块]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84034578</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84034578</guid><author>tszty1997</author><pubDate>Sat, 17 Nov 2018 14:49:40 +0800</pubDate><description><![CDATA[什么是模块?

模块就是已经写好,包含了python定义和声明的文件.

模块分为内置模块,第三方模块和自定义模块,

使用模块中的内容需要提前使用import导入模块,使用方法为import 模块名

或者 from 模块名 import 函数名

使用第一种方法时,使用模块中的函数为模块名.函数名

使用第二种方法时,直接使用函数名即可

常用内置模块有:

time(时间模块):主要与时间相...]]></description><category></category></item><item><title><![CDATA[正则表达式相关]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/84182512</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/84182512</guid><author>tszty1997</author><pubDate>Sat, 17 Nov 2018 13:34:21 +0800</pubDate><description><![CDATA[正则表达式(Regular Expression),又称规则表达式.正则表达式通常被用来检索,替换符合一定规则的字符串

正则表达式的基本用法见下:

元字符:

[]:字符组,表示一个位置上可能出现的字符

\d:digit,表示数字 \D表示除数字外的所有字符

\w:word,表示字母数字下划线 \W表示除字母数字下划线的所有字符

\n:next,表示换行符

\t:tab,表示制表符

...]]></description><category></category></item><item><title><![CDATA[迭代器与生成器]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83754817</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83754817</guid><author>tszty1997</author><pubDate>Mon, 05 Nov 2018 23:39:57 +0800</pubDate><description><![CDATA[1.迭代器

迭代器是python的强大的功能之一,是访问容器类型元素的一种方式

可迭代协议:有__iter__方法的变量/值都是可迭代对象

可迭代对象可以通过__iter__方法来返回一个迭代器

迭代器协议:有__iter__方法和__next__方法的变量/值都是迭代器

迭代器特有的方法:

__length_hint__返回迭代器中的元素个数
	__setstate__ 控制迭代器开...]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83654297</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83654297</guid><author>tszty1997</author><pubDate>Sun, 04 Nov 2018 13:14:21 +0800</pubDate><description><![CDATA[函数是可重复使用的,组织好的,用于实现单一或者关联功能的代码块

1.函数的定义:

函数的定义方式为:

def 函数名(参数):

      函数体

函数名的命名规则有:

函数名由字母数字下划线组成
	不能以数字开头
	禁止使用python关键字
	不能使用中文,拼音
	区分大小写
	要有意义
	使用驼峰命名法或者下划线命名法
2.函数的调用

函数的调用方法为:函数名()

严格来说是...]]></description><category></category></item><item><title><![CDATA[基本数据类型]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83652523</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83652523</guid><author>tszty1997</author><pubDate>Sun, 04 Nov 2018 10:56:08 +0800</pubDate><description><![CDATA[基本数据类型包括两大类,为不可变数据类型,另一类为可变数据类型.

1.不可变数据类型一类

不可变数据类型包括数字(Number),字符串(String),元组(Tuple).

1.1数字(Number)

数字包含整型(int),浮点型(float),布尔型(bool),复数(complex)

数字不可迭代

1.1.1整型(int)

不可迭代,主要用于计算和比较,
	在python2中...]]></description><category></category></item><item><title><![CDATA[2018.11.1笔记]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83622017</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83622017</guid><author>tszty1997</author><pubDate>Thu, 01 Nov 2018 16:34:05 +0800</pubDate><description><![CDATA[1.函数

不定长参数/动态位置参数(*args):以元组形式存储多余的位置参数

动态关键字参数(**kwargs):以字典形式存储多余的关键字参数

参数的排放顺序为:必需参数(位置参数)&amp;gt;不定长参数(*args) &amp;gt;关键字参数&amp;gt;不定长(动态)关键字参数(**kwargs)

在形参前加*可以将参数聚合

在实参前加*可以按顺序解包,拆开

** 和 *作用类似 **用于字典...]]></description><category></category></item><item><title><![CDATA[2018.10.31笔记]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83588935</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83588935</guid><author>tszty1997</author><pubDate>Wed, 31 Oct 2018 19:56:21 +0800</pubDate><description><![CDATA[1.函数

1.1函数的定义

格式:def func(args):

              函数体

函数的命名规则与变量相同

函数代码块以 def 关键词开头，后接函数标识符名称和圆括号 ()。

任何传入参数和自变量必须放在圆括号中间，圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始，并且缩进。

return [表...]]></description><category></category></item><item><title><![CDATA[2018.10.30笔记]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83547481</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83547481</guid><author>tszty1997</author><pubDate>Tue, 30 Oct 2018 19:59:39 +0800</pubDate><description><![CDATA[1.文件操作

open(file,mode,encoding)

1.1mode参数(打开模式)

r:读模式 开始时光标在文件开头

w:写模式 若文件不存在则创建文件,若文件存在则清空文件内所有内容然后写入

a:追加模式 开始时光标位于文件末尾,光标无论光标在哪,写入内容都追加在文件后

+:可读可写

b:以二进制码打开,在b模式是按字节来读,例如一个汉字utf-8模式编码是三个字节,b...]]></description><category></category></item><item><title><![CDATA[2018.10.29笔记]]></title><link>https://blog.youkuaiyun.com/tszty1997/article/details/83508935</link><guid>https://blog.youkuaiyun.com/tszty1997/article/details/83508935</guid><author>tszty1997</author><pubDate>Mon, 29 Oct 2018 17:37:31 +0800</pubDate><description><![CDATA[1.集合(set) {}

注:创建空集合使用set(),{}的类型为字典(dict)

1.1集合的增删改查

增:set.add(ele) 将元素添加到集合中,如果已经存在,则不执行任何操作

set.update(set1) 将set1中的元素迭代添加到set中,重复的会忽略,set1是可迭代类型的变量

删:set.pop() 随机移除一个元素,返回被移除的元素

set.remove(i...]]></description><category></category></item></channel></rss>