<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cc27721的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cc27721</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cc27721]]></copyright><item><title><![CDATA[github]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/105141876</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/105141876</guid><author>cc27721</author><pubDate>Fri, 27 Mar 2020 15:25:04 +0800</pubDate><description><![CDATA[在 2005 年，BitKeeper 所在公司发现 Linux 社区有人企图破解它，BitKeeper 决定收回 Linux 社区的免费使用权。Linus 对此事调节数周无果，找遍了当时已知的各种版本控制系统，没有一个看上眼的，一怒之下决定自己搞一个。Linus 花了十天时间用 C 语言写好了一个开源的版本控制系统，就是著名的 Git。有技术的人就是niubi.

Git：版本控制系统，是可以在电...]]></description><category></category></item><item><title><![CDATA[冒泡排序]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/105127588</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/105127588</guid><author>cc27721</author><pubDate>Thu, 26 Mar 2020 20:45:29 +0800</pubDate><description><![CDATA[时间复杂度：o(n^2)


l = [2,4,3,1,5,3,8,10,4,6]

for i in range(len(l)-1):#趟数，n个数只须循环n-1次
    for j in range(len(l)-1-i):#每一趟里面的循环数,一次循环后确定一个数,故循环数：n-1-i
        if l[j] &gt; l[j+1]:
            l[j],l[j+1]...]]></description><category></category></item><item><title><![CDATA[约瑟夫环问题]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/105127458</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/105127458</guid><author>cc27721</author><pubDate>Thu, 26 Mar 2020 20:39:09 +0800</pubDate><description><![CDATA[题目：有n个人围成一圈，顺序排号。从第一个人开始报数（从1到3报数），凡报到3的人退出圈子， 问最后留下的是原来第几号的那位。


n = int(input('请输入总人数:'))
num = []
for i in range(n):
    num.append(i + 1)
i = 0#下标
k = 0#计数，轮三个人后K=3
m = 0#淘汰的人数，当只剩一个人时（ m &lt; n -...]]></description><category></category></item><item><title><![CDATA[质数(素数）、分解质因数]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/105125998</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/105125998</guid><author>cc27721</author><pubDate>Thu, 26 Mar 2020 20:12:57 +0800</pubDate><description><![CDATA[很多逻辑思维的题不会，一方面是逻辑思维确实需要锻炼，另一方面是这方面可能涉及到的数学知识早就忘完了。

质数，素数，一个东西，除了1和它自身外，不能被其他自然数整除的数叫做质数(素数）。1不是质数。2是最小的质数（既是质数又是偶数），除了2之外，质数都是奇数

合数：指在大于1的整数中除了能被1和本身整除外，还能被其他数（0除外）整除的数。4是最小的合数。

因数：约数，整数a除以整数b(b≠0)...]]></description><category></category></item><item><title><![CDATA[Flask-Mail发送邮件]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/104728764</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/104728764</guid><author>cc27721</author><pubDate>Sun, 08 Mar 2020 10:57:03 +0800</pubDate><description><![CDATA[# -*- coding:utf-8 -*-
from flask import Flask
from flask_mail import Mail, Message
import os

app = Flask(__name__)

# 邮件服务器地址
app.config['MAIL_SERVER'] = 'smtp.qq.com' 
# 邮件服务器端口 
app.config['MAIL_...]]></description><category></category></item><item><title><![CDATA[生产者消费者（最简单的）]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/102645932</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/102645932</guid><author>cc27721</author><pubDate>Sun, 20 Oct 2019 09:25:45 +0800</pubDate><description><![CDATA[import time


def consumer(name):
    print('我是{}'.format(name))
    while True:
        baozi = yield
        time.sleep(2)
        print('{0}吃了{1}'.format(name,baozi))


def producer():
    c1 = co...]]></description><category></category></item><item><title><![CDATA[递归函数]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/102582836</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/102582836</guid><author>cc27721</author><pubDate>Wed, 16 Oct 2019 11:44:56 +0800</pubDate><description><![CDATA[三个特点：

1、要有确定的结束条件：return

2、问题规模要一步一步的减小

3、效率低
]]></description><category></category></item><item><title><![CDATA[centos6.5安装mysql和遇到的奇怪问题]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/90083309</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/90083309</guid><author>cc27721</author><pubDate>Fri, 10 May 2019 20:32:21 +0800</pubDate><description><![CDATA[1、看的教程是centos7直接安装Mariadb，可是好像centos6.5没有Mariadb源，没折腾明白，于是安装Mysql

2、参考这个文章，https://www.cnblogs.com/tianyalu/p/5045772.html，结果出现错误：



3、后来再看文章（https://blog.youkuaiyun.com/w_kiven/article/details/80827092），...]]></description><category></category></item><item><title><![CDATA[python FLASK-SQLAlchemy]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/89055614</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/89055614</guid><author>cc27721</author><pubDate>Sat, 06 Apr 2019 14:38:25 +0800</pubDate><description><![CDATA[第一次使用时出现一些错误，正确的代码


# -*- coding:utf-8 -*-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@...]]></description><category></category></item><item><title><![CDATA[Flask-wtf]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/89051657</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/89051657</guid><author>cc27721</author><pubDate>Sat, 06 Apr 2019 08:23:46 +0800</pubDate><description><![CDATA[Flask-WTF提供了简单地WTForms的集成，带有 csrf 令牌的安全表单。

从 0.9.0 版本开始，Flask-WTF 将不会从 wtforms 中导入任何的内容，用户必须自己从 wtforms 中导入字段。

故：

Form由flask_wtf导入，

字段和验证函数由wtforms导入。
...]]></description><category></category></item><item><title><![CDATA[python open r/rb]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/88979920</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/88979920</guid><author>cc27721</author><pubDate>Tue, 02 Apr 2019 20:12:18 +0800</pubDate><description><![CDATA[Python 3 环境下：

r：Python 将会按照编码格式进行解析，read()操作返回的是str
在windows下，打开文本文件时，Python3将本来应该读入的换行符\r\n处理成\n，方便我们处理。

当我们将\n写入文件时，python也会默认将其替换成\r\n。

rb：也即 binary mode，read()操作返回的是bytes
​​​​​​​在学习python网络编程...]]></description><category></category></item><item><title><![CDATA[python3 json]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/88828798</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/88828798</guid><author>cc27721</author><pubDate>Tue, 26 Mar 2019 20:11:02 +0800</pubDate><description><![CDATA[1、json语法是js语法的子集。

json值可以是 ---数字（整数或浮点数）

           ---字符串（在双引号中）

           ---true/false

           ---数组：在 [ ] 中

           ---对象：在 { } 中

    ...]]></description><category></category></item><item><title><![CDATA[python3编码]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/88827857</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/88827857</guid><author>cc27721</author><pubDate>Tue, 26 Mar 2019 19:56:54 +0800</pubDate><description><![CDATA[python3内部是使用unicode编码的。字符串在Python3内部的表示是unicode编码，相当于python2的u''格式。

因此在编码解码时，可以先在Python内部使用decode解码为unicode，然后使用encode进行编码。

decode的作用是将其他编码的字符串转换成unicode编码，如str1.decode('gb2312')，表示将gb2312编码的字符串str1...]]></description><category></category></item><item><title><![CDATA[Flask(一)]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/83790301</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/83790301</guid><author>cc27721</author><pubDate>Tue, 06 Nov 2018 16:59:36 +0800</pubDate><description><![CDATA[当前使用环境：windows+python3.6

运行命令：pip intall virtualenv 直接安装 
运行创建虚拟环境命令:virtualenv venv ，生成一个venv文件夹。 
开启虚拟环境：先cd venv，进入venv目录，输入Scripts\activate运行，开启成功。 
关闭虚拟环境：输入deactivate回车成功关闭。

hello.py：一个完整的Flas...]]></description><category></category></item><item><title><![CDATA[十、对面向对象新的理解]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82656171</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82656171</guid><author>cc27721</author><pubDate>Wed, 12 Sep 2018 09:29:21 +0800</pubDate><description><![CDATA[看了一个视频，颠覆了之前对面向对象设计的理解，编程真的的很神奇，他的博客：

http://www.cnblogs.com/linhaifeng/p/7278389.html

之前以为面向对象就是class A(){}，现在知道了只用函数也可以面向对象编程。

面向过程、面向对象、函数式编程只是不同的编程范式吧，本身没有好坏之分，看用的人了。


# -*- coding:utf-8 -*-
d...]]></description><category></category></item><item><title><![CDATA[九、类]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82590232</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82590232</guid><author>cc27721</author><pubDate>Mon, 10 Sep 2018 15:21:52 +0800</pubDate><description><![CDATA[一、基本概念

类用来描述一组有相同特性（属性）和相同行为（方法）的对象。

属性、方法、继承、多态

二、类定义

类定义从关键字class开始。

Python中的类分为经典类和新式类，经典类可以不继承任何类，新式类必须有继承类。经典类有缺陷，因此python3不再支持经典类。


# -*- coding:utf-8 -*-
class Person(object):
    counter...]]></description><category></category></item><item><title><![CDATA[八、模块与包]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82505232</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82505232</guid><author>cc27721</author><pubDate>Sat, 08 Sep 2018 00:48:47 +0800</pubDate><description><![CDATA[一、模块

在python中，模块就是一个代码文件，模块中可以定义类、函数、变量，也可以包含可执行的代码。

使用Import导入。

1.1 搜索路径

搜索模块时，python会按照sys.path列表中的路径，依次进行搜索。可以通过sys.path查看搜索路径。

将模块的路径添加到sys.path路径的三种方法：

（1）动态添加

sys.path.append(模块路径)，动态添加需要...]]></description><category></category></item><item><title><![CDATA[六、装饰器—这个你应该可以看明白]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82490553</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82490553</guid><author>cc27721</author><pubDate>Fri, 07 Sep 2018 10:39:27 +0800</pubDate><description><![CDATA[Python允许使用装饰器对函数进行装饰，装饰器可以帮助函数实现一些通过的功能，在函数调用前运行些预备代码或函数调用后执行清理工作。如：插入日志、检测性能（计时）、事务处理、缓存、权限校验等。这样编写函数时就可以专注于功能的实现，就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。

定义：装饰器本质就是函数，功能是在不更改原函数的代码前提下给函数增加新的功能。包装后返回一个装饰后的函数对象，...]]></description><category></category></item><item><title><![CDATA[五、闭包]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82492767</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82492767</guid><author>cc27721</author><pubDate>Fri, 07 Sep 2018 10:38:42 +0800</pubDate><description><![CDATA[参考博客：https://www.cnblogs.com/JohnABC/p/4076855.html

一、概述

概念：如果一个内部函数对外部作用域的自由变量进行了引用或使用，那么这个内部函数就称为闭包(closure)。

 

我个人认为，闭包存在的意义就是它夹带了外部变量（私货），如果它不夹带私货，它和普通的函数就没有任何区别。同一个的函数夹带了不同的私货，就实现了不同的功能。其实你也可...]]></description><category></category></item><item><title><![CDATA[七、文件管理]]></title><link>https://blog.youkuaiyun.com/cc27721/article/details/82464683</link><guid>https://blog.youkuaiyun.com/cc27721/article/details/82464683</guid><author>cc27721</author><pubDate>Fri, 07 Sep 2018 06:23:04 +0800</pubDate><description><![CDATA[一、磁盘文件

1.1 打开、关闭磁盘文件

（1）open()函数

文件对象=open(文件名，访问模式='r'，缓冲方式='-1')


#以'w+'模式打开文件，再写入内容并读出
myfile=open('d:\\firstfile.txt','w+')
myfile.write('my firstfile\n')
myfile.write('hello cc\n')
myfile.see...]]></description><category></category></item></channel></rss>