<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[她曾是你的破绽]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_58645785</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_58645785]]></copyright><item><title><![CDATA[用python办公自动化发送邮件]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/122928807</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/122928807</guid><author>m0_58645785</author><pubDate>Mon, 14 Feb 2022 17:42:50 +0800</pubDate><description><![CDATA[用python发送邮件
import requests
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# 创建SMTP_SSL对象
smtp_obj = smtplib.SMTP_SSL(host='smtp.qq.com', port=465)

# 1. 授权登录
smtp_obj.login('账号@qq.com', '授权码')
m_part = ]]></description><category></category></item><item><title><![CDATA[用天行数据获取今日头条前100条的数据]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/122892913</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/122892913</guid><author>m0_58645785</author><pubDate>Sat, 12 Feb 2022 10:24:41 +0800</pubDate><description><![CDATA[用天行数据获取今日头条的前100条数据，保存至excel
from datetime import datetime

import openpyxl
import requests


workbook = openpyxl.Workbook()

sheet = workbook.active

sheet.append(('时间', '标题', '链接', '来源'))
# 获取今日头条的前100条数据
for page in range(1, 6):
    resp = requests.get(]]></description><category></category></item><item><title><![CDATA[前端的基础]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119581679</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119581679</guid><author>m0_58645785</author><pubDate>Tue, 10 Aug 2021 23:16:00 +0800</pubDate><description><![CDATA[前端的基础
index.html
&lt;!DOCTYPE html&gt;
&lt;html&gt;
   &lt;head&gt;
      &lt;!-- 1. 设置编码方式 --&gt;
      &lt;meta charset="utf-8"&gt;
      &lt;!-- 2. 设置网页标题 --&gt;
      &lt;title&gt;&lt;/title&gt;
      &lt;!-- 3. 设置网页图标 --&gt;
      &lt;link rel="icon" ]]></description><category></category></item><item><title><![CDATA[# 面向对象进阶]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119427673</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119427673</guid><author>m0_58645785</author><pubDate>Thu, 05 Aug 2021 21:27:10 +0800</pubDate><description><![CDATA[面向对象进阶
一、对象属性的增删改查
class Student:
    # __slots__ = ('name', 'age', 'study_id')
    def __init__(self, name, age=18, study_id='000'):
        self.name = name
        self.age = age
        self.study_id = study_id

    # 在当前类的对象被打印的时候自动调用，并且将这个方法的返回值作为打印结]]></description><category></category></item><item><title><![CDATA[面向对象基础]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119394264</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119394264</guid><author>m0_58645785</author><pubDate>Wed, 04 Aug 2021 21:59:59 +0800</pubDate><description><![CDATA[面向对象基础
一、编程思想
编程思想：面向过程编程(穷人思想)、函数式编程(小资)、面向对象编程(富豪)
编程实现功能：123*…*10
# 面向过程编程:
s = 1
for x in range(1, 11):
    s *= x
print(s)

# 函数式编程编程:
from math import factorial
print(factorial(10))
print(factorial(5))

# 面向对象编程(富豪)
class Math:
    @staticmethod
    ]]></description><category></category></item><item><title><![CDATA[# 正则表达式]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119355689</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119355689</guid><author>m0_58645785</author><pubDate>Tue, 03 Aug 2021 17:46:30 +0800</pubDate><description><![CDATA[正则表达式
一、匹配符号
“”"

re模块
re模块是python提供的专门用支持正则表达式的一个模块
fullmatch函数：
fullmatch(正则表达式，字符串)    –  让正则表达式和指定字符串进行完全匹配，如果匹配失败返回None；
“”"

“”"
2. 正则语法
正则表达式   –  正则表达式是一个字符串复杂问题变得简单的工具。
写正则表达式的主要工作：用正则符号描述清楚相关字符串的规则。
python正则表示方式：r’正则表达式’
js的正则：/正则表达式/
“”"
from re]]></description><category></category></item><item><title><![CDATA[常用系统模块和文件操作]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119257792</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119257792</guid><author>m0_58645785</author><pubDate>Fri, 30 Jul 2021 23:33:59 +0800</pubDate><description><![CDATA[常用系统模块和文件操作
一、time模块

时间戳
用指定时间到1970年1月1日0时0秒（格林威治时间）的时间差（单位是秒）来表示时间的方式就是时间戳

注意：格林威治时间和北京时间有8小时的时差
4个字节（时间戳存储时间）
16个字节（用字符串存储时间）
import time

1. time.time()    --  获取当前时间
print(time.time())      # 1627612143.562589


2.
time.localtime()  --  获取当前时间的本地时间，返]]></description><category></category></item><item><title><![CDATA[迭代器生成器和模块]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119257774</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119257774</guid><author>m0_58645785</author><pubDate>Fri, 30 Jul 2021 23:31:59 +0800</pubDate><description><![CDATA[迭代器生成器和模块
一、迭代器


什么是迭代器（iter）
迭代器是容器型数据类型，可以同时保存多个数据，可以被遍历；也可以转换成列表和元组
打印迭代器的时候无法打印里面的元素；迭代器不支持len操作


​       如果需要迭代器中的元素，必须将元素从迭代器中取出，而且一旦取出元素，这个元素在迭代器中就不存在了。


怎么创建迭代器
方法一：通过iter将其他序列换成迭代器
方法二：创建生成器对象（生成器可以看成是一种特殊的迭代器）


iter1 = iter（'abc'）
print(iter1]]></description><category></category></item><item><title><![CDATA[函数的进阶]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119192850</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119192850</guid><author>m0_58645785</author><pubDate>Thu, 29 Jul 2021 00:01:07 +0800</pubDate><description><![CDATA[函数的进阶
一、匿名函数
‘’’

匿名函数
语法：
函数名 = lambda 参数列表: 返回值

相当于：
def 函数名(参数列表):
return 返回值
注意：
1）匿名函数只能实现用一句代码就可以完成功能的函数
2）匿名函数在调用的时候和普通函数没有区别
3）匿名函数的参数不能使用冒号语法来说明类型
‘’’
sum1 = lambda num1, num2=10: num1 + num2

print(sum1(10, 20))                 # 30
print(sum1(n]]></description><category></category></item><item><title><![CDATA[函数基础练习]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119157069</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119157069</guid><author>m0_58645785</author><pubDate>Wed, 28 Jul 2021 00:32:36 +0800</pubDate><description><![CDATA[函数基础
一、调用函数
1.调用函数
‘’’
函数名（实参列表）

定义函数不会执行函数体，调用函数才会执行函数体。（调用多少次，函数体就会执行多少次）
调用函数的时候，实参的个数由被调用的函数的形参决定。（用实参给形参赋值的过程叫传参）
函数调用过程（简单版）
当代码执行到函数调用语句的时候，后面的执行过程如下：
第一步：回到函数定义的位置
第二步：传参（用实参给形参赋值）
第三步：执行函数体
第四步：确定返回值（暂时不管）
第五步：返回函数调用的位置，接着往后执行
‘’’

def func2(x, y]]></description><category></category></item><item><title><![CDATA[字符串和字符]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/119156788</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/119156788</guid><author>m0_58645785</author><pubDate>Wed, 28 Jul 2021 00:21:50 +0800</pubDate><description><![CDATA[字符串
一、字符串和字符

什么是字符串（str）
‘’’
容器型数据类型；将’ ‘或者’’’ ‘’‘或者""" “”"作为容器标志，引号中每个符号就是字符串的元素。(’’’’’‘和”“”“”“在表示字符串内容的时候换行可以不使用转义字符，而且直接按回车)
字符串不可变(不支持增删改)；字符串有序(支持下标操作)
元素：引号中的单独的每个符号都是字符串的元素(又叫字符)，字符可以是任何符号。
字符分为两类：普通字符(表示符号本身字符)、转义字符(符号的存在具有特殊的功能和意义)
‘’’

str1 = '9]]></description><category></category></item><item><title><![CDATA[字典和集合]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118990507</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118990507</guid><author>m0_58645785</author><pubDate>Thu, 22 Jul 2021 08:50:58 +0800</pubDate><description><![CDATA[字典和集合
一、字典的增删改
1.增和改
字典[键] = 值   -   当键存在的时候是修改对应键对应的值；当键不存在的时候是添加键值对
字典.setdefault(键, 值)     -   添加键值对(当键存在的时候不会修改原来的值)
cat = {'name': '美美', 'age': 2, 'color': '白色'}
print(cat)      # {'name': '美美', 'age': 2, 'color': '白色'}

添加方法一
cat['breed'] = '蓝猫'
prin]]></description><category></category></item><item><title><![CDATA[day7-列表和字典作业]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118974311</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118974311</guid><author>m0_58645785</author><pubDate>Wed, 21 Jul 2021 19:26:22 +0800</pubDate><description><![CDATA[元组和字典
一、相关函数

max、min    -   求最大值、最小值

max(序列)
nums = [34, 89, 78, 65, 90, 23]
print(max(nums), min(nums))      # 90 23


sum    -   求数字序列中元素的和

sum(序列)
nums = [34, 89, 78, 65, 90, 23]
print(sum(nums))        # 379

3.sorted  -   排序;不修改原序列中元素的顺序而是产生一个新的列表
]]></description><category></category></item><item><title><![CDATA[day06-列表作业]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118947355</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118947355</guid><author>m0_58645785</author><pubDate>Tue, 20 Jul 2021 23:56:52 +0800</pubDate><description><![CDATA[列表
一、列表切片
1.1 切片 - 获取部分元素
切片的结果是列表
语法：列表[开始下标：结束下标：步长]
说明：
开始下标    -   下标值（0开始的和-1开始的都行）；它是决定切片有效范围的起点，可以取到
：         -   固定写法
结束下标    -   下标值（0开始的和-1开始的都行）；确定切片有效范围的终点，取不到
步长      -     1)决定切片的方向(步长对应的方向必须和开始到结束的方向一致)
               2)获取元素的方式（一个一个的取还是跳着取）]]></description><category></category></item><item><title><![CDATA[1.循环嵌套和对列表的认识]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118885691</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118885691</guid><author>m0_58645785</author><pubDate>Sun, 18 Jul 2021 23:52:43 +0800</pubDate><description><![CDATA[1.循环嵌套的执行原则：外循环一次，内循环完整
for x in range(5):
    for y in range(2, 5):
        print(x, y)


x取值范围：0，1，2，3，4
第1次  x=0:  执行循环体对应的for循环， y取值范围是: 2,3,4
            第1次 y=2: print(x, y) -&gt; print(0, 2)
            第2次 y=3: print(x, y) -&gt; print(0, 3)
       ]]></description><category></category></item><item><title><![CDATA[for和while循环]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118768662</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118768662</guid><author>m0_58645785</author><pubDate>Thu, 15 Jul 2021 20:54:21 +0800</pubDate><description><![CDATA[循环
循环 - 让代码重复执行(代码写一遍,运行的时候可以执行多次)
print('hello')
print('hello')
print('hello')
print('hello')
print('hello')

一、 for循环
语法：
for 变量 in 序列：
    循环体(需要重复执行的代码)

说明：
for、in  --  关键字，固定写法
变量      --  写一个变量名。（可以是已定义过的，也可以是没有定义过的）
序列      --  容器型数据类型对应的数据，常见序列：字符]]></description><category></category></item><item><title><![CDATA[二、运算符和分支]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118742023</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118742023</guid><author>m0_58645785</author><pubDate>Thu, 15 Jul 2021 00:54:45 +0800</pubDate><description><![CDATA[运算符和分支
运算符分为：数字运算符、比较运算符、逻辑运算符、赋值运算符
一、数学运算符：+（加）、-（减）、*（乘）、/(除)、%（求余数、取模）、//（整除）、**（幂运算)

+、-、*、/ 和数学中的+、-、×、÷ 的功能一模一样

print(5 + 2)		# 7
print(5 - 2)		# 3
print(5 * 2)		# 10
print(5 / 2)		# 2.5


% - 求余数、取模
x % y   —   求x除以y的余数

应用1：判断一个数是否能够被另外一个数整除（看余数]]></description><category></category></item><item><title><![CDATA[一、Python基础语法和变量]]></title><link>https://blog.youkuaiyun.com/m0_58645785/article/details/118712988</link><guid>https://blog.youkuaiyun.com/m0_58645785/article/details/118712988</guid><author>m0_58645785</author><pubDate>Tue, 13 Jul 2021 22:57:36 +0800</pubDate><description><![CDATA[一、Python基础语法和变量
1.常用快捷键
  ctr+/                   ---     添加/取消注释
  ctr+s                   ---     保存
  ctr+c                   ---     复制、拷贝
  ctr+v                   ---     粘贴
  ctr+x                   ---     剪切
  ctr+a                   ---     全选
  ]]></description><category></category></item></channel></rss>