<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_34636310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_34636310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_34636310]]></copyright><item><title><![CDATA[正则表达式初步学习]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/98475847</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/98475847</guid><author>qq_34636310</author><pubDate>Sun, 04 Aug 2019 22:47:20 +0800</pubDate><description><![CDATA[正则表达式
正则表达式，又称规则表达式**。**（英语：Regular Expression，在代码中常简写为regex、regexp或RE），计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

给定的字符串是否符合正则表达式的过滤逻辑（匹配）
通过正则表达式，从字符串中获得我们想要的特定部分

使用场景

爬虫
数据挖掘和分析

在Python中使用正则需要导...]]></description><category></category></item><item><title><![CDATA[类装饰器]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/98475836</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/98475836</guid><author>qq_34636310</author><pubDate>Sun, 04 Aug 2019 22:46:39 +0800</pubDate><description><![CDATA[首先，__call__方法
def func():
    print('123')
func()
print(func())
#调用---&gt;call---&gt;  啥啥啥的不能call

123
123
None
对应的，类实例对象的调用，需要使用到__call__特殊方法
class Student:
    def __init__(self, name):
        self...]]></description><category></category></item><item><title><![CDATA[反射、item系列]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/98475818</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/98475818</guid><author>qq_34636310</author><pubDate>Sun, 04 Aug 2019 22:46:08 +0800</pubDate><description><![CDATA[面向对象3
isinstance(对象， 类)：检查对象是否类
class Foo:
    pass
foo = Foo()
print(isinstance(foo, Foo))

True
issubclass:检查继承关系
class Foo:
    pass
class Bar(Foo):
    pass
class Car(Bar):
    pass
# foo = Foo()
...]]></description><category></category></item><item><title><![CDATA[静态方法和类方法]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/98475671</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/98475671</guid><author>qq_34636310</author><pubDate>Sun, 04 Aug 2019 22:43:58 +0800</pubDate><description><![CDATA[静态方法和类方法
1.静态方法

通过装饰器@staticcmethod 来进行装饰。静态方法既不需要传递类对象也不需要传递实例对象
静态方法也可以通过实例对象和类对象去访问。

class Dog:
    type = '狗'
    def __init__(self):
        name =None

    #静态方法
    @staticmethod
    def intr...]]></description><category></category></item><item><title><![CDATA[装饰器的几种形式、万能装饰器]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/98475650</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/98475650</guid><author>qq_34636310</author><pubDate>Sun, 04 Aug 2019 22:32:16 +0800</pubDate><description><![CDATA[装饰器的几种形式
1.无参无返回值
def setFunc(func):
    def wrapper():
        print('start')
        func()
        print('end')
    return wrapper
@setFunc
def show():
    print('show')

show()    #在不改变原函数调用释放下 添加...]]></description><category></category></item><item><title><![CDATA[装饰器]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97811271</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97811271</guid><author>qq_34636310</author><pubDate>Tue, 30 Jul 2019 19:18:21 +0800</pubDate><description><![CDATA[装饰器
demo:
@func1
def func():
    print("aaa")
装饰器存在的意义

不影响原有函数的功能
可以添加新功能

一般常见的,比如拿到第三方的API接口,不允许修改这个接口.这个时候,装饰器就派上了用场
装饰器本身也是一个函数,作用是为现有存在的函数,在不改变函数的基础上,增加一些功能进行装饰
它是以闭包的形式去实现的
在使用装饰器函数时,在被装饰的函数前一行...]]></description><category></category></item><item><title><![CDATA[闭包]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97811204</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97811204</guid><author>qq_34636310</author><pubDate>Tue, 30 Jul 2019 19:07:19 +0800</pubDate><description><![CDATA[闭包
什么是闭包
闭是封闭(函数中的函数),包时包含(该内部函数对外部函数作用域而非全局作用域变量的引用)
闭包:

内部函数对外部函数作用域里的变量的引用
函数内的属性,都是有生命周期,都是在函数执行期间
闭包内的闭包函数私有化了变量,完成了数据的封装,类似面向对象

demo:
def foo():
    print('in foo()')
    def bar():
        pr...]]></description><category></category></item><item><title><![CDATA[生成器]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97809437</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97809437</guid><author>qq_34636310</author><pubDate>Tue, 30 Jul 2019 19:06:16 +0800</pubDate><description><![CDATA[生成器
生成器，利用迭代器，我们可以在每次迭代获取数据时(通过next()方法)按照特定的规律进行生成。
但是我们在实现一个迭代器时，关于当前迭代的状态需要我们自己记录，进而才能根据当前的状态
生成下一个数据。为了达到记录当前状态，并配合next()函数，进行迭代使用，可以采用更简便的语法。
即 生成器(generator)，生成器是一种特殊的迭代器，它比迭代器更优雅。
创建一个生成器
列表[] ...]]></description><category></category></item><item><title><![CDATA[迭代器]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97808735</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97808735</guid><author>qq_34636310</author><pubDate>Tue, 30 Jul 2019 18:48:44 +0800</pubDate><description><![CDATA[迭代器
可迭代对象：
list, str, tuple, etc.  ----&gt;for … in … 遍历 —&gt; 遍历(迭代)
迭代器协议：对象必须提供一个next方法，执行该方法要么返回迭代中的下一项，要么引起StepIeration异常，以终止迭代(只能往下走，不可以回退)
现在 ，我们就可以说，实现了迭代器协议的对象就是可迭代对象。
如何实现

通过在对象内部定义一个__iter...]]></description><category></category></item><item><title><![CDATA[面向过程、面向对象编程]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97808567</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97808567</guid><author>qq_34636310</author><pubDate>Tue, 30 Jul 2019 18:42:11 +0800</pubDate><description><![CDATA[面向过程
函数式编程
面向对象

面向过程
所谓过程就是我们解决问题的步骤，一步步按照流程走，有先后之分。
优缺点：

优点

复杂的问题流程化，将问题分解简化


缺点

拓展性不好，



面向对象
核心是对象。
正式的来说

对象是一个数据以及相关行为的集合
面向对象是功能上指向建模对象

通过数据和行为方式来描述交互对象的集合
在Python中，一切皆为对象
面向对象的优缺点

优点

...]]></description><category></category></item><item><title><![CDATA[time、datetime、sys、序列化模块]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97427543</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97427543</guid><author>qq_34636310</author><pubDate>Fri, 26 Jul 2019 22:27:19 +0800</pubDate><description><![CDATA[time模块
import time

time.sleep([n])    # 休眠N  s

time.time()   #获取当前的时间戳       1564101704.107082
在Python中，时间有3中表示方式：

时间戳(timetamp) :从1970.01.01  00:00:00  开始按秒计算的偏移量
格式化的时间字符串(format string)
结构化的时间(s...]]></description><category></category></item><item><title><![CDATA[Pathon_包]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97295334</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97295334</guid><author>qq_34636310</author><pubDate>Thu, 25 Jul 2019 20:17:27 +0800</pubDate><description><![CDATA[模块
包
—&gt; module and package
包 ： 包是用过使用 '.模块名’来组织Python模块名称空间的防是。
—&gt; 具体，包就是一个包含  __init__.py文件的文件夹

目的：用文件夹将文件/模块组织起来。


注意：
python3，即使包中没有__init__.py也可以使用；
python2，若没有__init__.py 报错

创建包的目的不是为了运行...]]></description><category></category></item><item><title><![CDATA[global(全局变量)]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97289675</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97289675</guid><author>qq_34636310</author><pubDate>Thu, 25 Jul 2019 19:27:01 +0800</pubDate><description><![CDATA[global(全局变量)
全局变量是编程语言中常见的一种变量，通过全局定义，可以是某对象函数创建，也可以是本程序任何位置创建，能够被本程序中的所有对象或函数进行引用，全局变量的定义有利于程序的变量共享，简化了添加和修改的程序。

在函数内使用全局变量，要 global声明
函数内未声明global的同名变量赋值，id是不同的

a = 6688      #全局变量 a（id 1）
def foo...]]></description><category></category></item><item><title><![CDATA[函数补充：递归、匿名、高阶函数等]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97287293</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97287293</guid><author>qq_34636310</author><pubDate>Thu, 25 Jul 2019 19:06:38 +0800</pubDate><description><![CDATA[递归函数
在一个函数体内部，调用函数本身
def func(n):
    if n ==1:
        return (1)
    elif n ==2:
        return (1)
    else:
        return func(n-2)+func(n-1)
print(func(10))


def func(n):
    print(n)
    if in...]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97035373</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97035373</guid><author>qq_34636310</author><pubDate>Tue, 23 Jul 2019 21:09:15 +0800</pubDate><description><![CDATA[函数
引子：
求1-15的和;
求23-36的和;
求55-68的和;
程序而言：函数就是对程序逻辑进行结构化或者过程化的一种编程方法。
built-in function内置函数 —&gt;BIF
def sum_add(i1,i2):
    '''叠加'''
    result = 0
    for i in range(i1,i2+1):
        result += i
   ...]]></description><category></category></item><item><title><![CDATA[错误和异常]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/97034844</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/97034844</guid><author>qq_34636310</author><pubDate>Tue, 23 Jul 2019 21:05:44 +0800</pubDate><description><![CDATA[错误和异常
错误


语法错误(syntax error)


逻辑错误(logic error)


执行期间错误(runtime error)


demo:
for i in range(10)
    print(i)
out —&gt;
    for i in range(10)
                     ^
SyntaxError: invalid syntax
py...]]></description><category></category></item><item><title><![CDATA[模块(module)]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/96895006</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/96895006</guid><author>qq_34636310</author><pubDate>Mon, 22 Jul 2019 20:21:53 +0800</pubDate><description><![CDATA[模块(module)
为了编写方便维护的代码，将功能不同的代码分组。
在Python中一个.py文件就可以称为一个模块。
即：

包含相应功能的函数及变量，py则以’.py’为后缀名;
模块可以为其他的程序引用，以使用该模块所对应的函数或者变量

使用模块的优点：


提高代码可维护性


提高代码的复用性


可以导入很多功能的模块

标准库模块
第三方模块
自定义模块



避免变量名重复(作...]]></description><category></category></item><item><title><![CDATA[文件操作]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/96894657</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/96894657</guid><author>qq_34636310</author><pubDate>Mon, 22 Jul 2019 20:20:56 +0800</pubDate><description><![CDATA[文件操作
常见的文件类型：

txt
csv
json
html
mp4

文件操作的流程

打开  —&gt; open()
读/写 —&gt; read()/write()
关闭 —&gt;close()


文件的打开与关闭
内置函数: open() , 创建一个file对象，之后才可以用他调用相关的方法。
语法格式：
打开
file_object = open(file,[,mode],[...]]></description><category></category></item><item><title><![CDATA[Python_集合]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/96485147</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/96485147</guid><author>qq_34636310</author><pubDate>Fri, 19 Jul 2019 17:21:30 +0800</pubDate><description><![CDATA[集合(set())


无序


不可重复


不可更改


内部的元素是可哈希的


集合本身是不可哈希的




用{}括起来的单元素数据集


用途：

去重(列表—&gt;集合，自动去重)
关系测试

集合的创建
空集合的创建
st = set()
print(st)
print(type(st))

set()
&lt;class 'set'&gt;
多元素的集合创建
&gt;&gt;&...]]></description><category></category></item><item><title><![CDATA[Python_字典]]></title><link>https://blog.youkuaiyun.com/qq_34636310/article/details/96485113</link><guid>https://blog.youkuaiyun.com/qq_34636310/article/details/96485113</guid><author>qq_34636310</author><pubDate>Fri, 19 Jul 2019 17:20:46 +0800</pubDate><description><![CDATA[字典
1.假如有一个列表:
li = [“Pyth”,“Java”,“C”]
li[0]=“Python”
li.sort()
2.假如统计学生信息，包括学号，姓名，年龄:
li = [[31502001,“xue1”,18],
[31502002,“xue2”,18],
…
31502nnn,“xuennn”,19]]
循环遍历，十分复杂
考虑字典
字典是列表以外Python中使用最灵活的内置数...]]></description><category></category></item></channel></rss>