<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HanMamnHanah的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/HanMamnHanah</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HanMamnHanah]]></copyright><item><title><![CDATA[python中新式类和经典类的区别]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/126223876</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/126223876</guid><author>HanMamnHanah</author><pubDate>Mon, 08 Aug 2022 11:21:02 +0800</pubDate><description><![CDATA[3大区别：定义、继承顺序、类实例与类的类型统一]]></description><category></category></item><item><title><![CDATA[在接口测试unittest中使用ddt.file_data()读取yaml文件中的数据]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/125982928</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/125982928</guid><author>HanMamnHanah</author><pubDate>Mon, 25 Jul 2022 21:04:13 +0800</pubDate><description><![CDATA[在unittest中使用ddt.file_data()读取yaml文件中的数据]]></description><category></category></item><item><title><![CDATA[Log format参数使用的格式化字符串]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/122212702</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/122212702</guid><author>HanMamnHanah</author><pubDate>Wed, 29 Dec 2021 12:06:11 +0800</pubDate><description><![CDATA[日志级别等级：CRITICAL &gt; ERROR &gt; WARNING &gt; INFO &gt; DEBUG &gt; NOTSET

format参数中可能用到的格式化串：
%(name)s      Logger的名字
%(levelno)s     数字形式的日志级别
%(levelname)s  文本形式的日志级别
%(pathname)s  调用日志输出函数的模块的完整路径名，可能没有
%(filename)s    调用日志输出函数的模块的...]]></description><category></category></item><item><title><![CDATA[用webdriver源码实现网页自动搜索]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/121547292</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/121547292</guid><author>HanMamnHanah</author><pubDate>Thu, 25 Nov 2021 20:52:46 +0800</pubDate><description><![CDATA[# 1.导包
from selenium.webdriver.chrome.webdriver import WebDriver
from time import sleep
# 2.创建WebDriver服务端
wd = WebDriver(executable_path='chromedriver')
# 3.访问url
wd.execute('get', {'url': 'http://www.baidu.com'})
# 4.定位元素，输入信息
el = wd.execute('findEleme.]]></description><category></category></item><item><title><![CDATA[Python自动登录网页网易云音乐]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/121544762</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/121544762</guid><author>HanMamnHanah</author><pubDate>Thu, 25 Nov 2021 20:24:48 +0800</pubDate><description><![CDATA[目标：在网页版网易云，以qq登录的方式，通过Python代码实现自动登录

在实现过程中，关键的有2步：

    1.在打开的页面中点击链接，打开了新页面。driver需要重定向到新页面，直接定位新界面的元素会提示，“定位失败，没有这个元素”。

    解决方法：获取当前浏览器所有句柄页，根据句柄页的值进行转换。


windows = driver.window_handles # 获取当前浏览器所有的页面句柄

    windows的类型为list，通过windows[n...]]></description><category></category></item><item><title><![CDATA[python可变数据类型常用功能]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118359161</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118359161</guid><author>HanMamnHanah</author><pubDate>Wed, 30 Jun 2021 14:19:18 +0800</pubDate><description><![CDATA[不可变数据类型tuple的增删改

元组增加数据：

只能通过拼接的方式“+”来增加数据，


tup1 = ('hello',11,23.3)
tup2 = ('world!',)
print(tup1+tup2)#('hello',11,23.3,'world!')

如果元组中只打算存一个数据，需要在数据末尾加“，”否则会被认为是带括号的普通对应类型元素


tup1,tup2,tup3,tup4,tup5 = ('hello'),(11),(23.3),('world',),(55,)
print(]]></description><category></category></item><item><title><![CDATA[python函数的参数形式]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118343932</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118343932</guid><author>HanMamnHanah</author><pubDate>Wed, 30 Jun 2021 13:22:39 +0800</pubDate><description><![CDATA[函数的参数有四种：必须参数、关键字参数、默认参数、不定长参数

必须参数：调用函数时传入参数的顺序必须和定义时的一致，必须参数也称‘位置参数’

关键字参数：调用函数时，使用‘形参名=要传入的值’形式，只要定义了关键字且关键字传参不重复，实参传参的先后顺序不影响函数各参数接收到的值

默认参数：函数定义时设定的参数默认值。

def test(n1=100,n2='你好')，当调用test()时，如果调用时传了参值，传了什么就用什么，实参没有传值的形参位，会使用函数的默认值当做参值

！：定...]]></description><category></category></item><item><title><![CDATA[python不可变类型常用功能]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118003859</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/118003859</guid><author>HanMamnHanah</author><pubDate>Fri, 18 Jun 2021 01:15:41 +0800</pubDate><description><![CDATA[不可变类型：数字 字符串str 元组tuple

可变类型：表list 字典dict 集合set

random(n1,n2)


]]></description><category></category></item><item><title><![CDATA[Python导入模块3种方法]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/117881965</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/117881965</guid><author>HanMamnHanah</author><pubDate>Sun, 13 Jun 2021 17:46:57 +0800</pubDate><description><![CDATA[Python共有3种导入模块的方法

1.调用某个模块下的内容

先导入对应文件夹

import 模块名

模块名.函数
]]></description><category></category></item><item><title><![CDATA[实现一个双向链表的增删改查]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79948015</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79948015</guid><author>HanMamnHanah</author><pubDate>Sun, 15 Apr 2018 12:11:10 +0800</pubDate><description><![CDATA[        美好的一天从中午起床开始，睡懒觉真的太舒服了，然后我们要上传一份代码，实现双向链表的增删改，首先列出各个函数的功能：        void DLinkListInit(DLinkNode** head); 双向链表的初始化DLinkNode* DLinkListPushBack(DLinkNode* head, DLinkType value); 尾插一个元素void DLinL...]]></description><category></category></item><item><title><![CDATA[链表常见的笔试题]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79815346</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79815346</guid><author>HanMamnHanah</author><pubDate>Wed, 04 Apr 2018 17:26:50 +0800</pubDate><description><![CDATA[    美好的一天开始了一半，结束了一半，作业写完了一半，还有一半，因为作业写完了一半所以我认为美好的一天刚刚开始，又因为还有很多作业没写，所以剩下的一天是否还是美好的呢？我把这一刻定义为薛定谔的美好的一天。    在薛定谔的美好的一天中上传一个链表常见的笔试题，供大家参考也供自己日后复习，前提：无头结点接下来介绍一下各个函数的功能：void LinkListReversePrint(LinkNo...]]></description><category></category></item><item><title><![CDATA[一个可以增删改查插的线性表（二）]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79726329</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79726329</guid><author>HanMamnHanah</author><pubDate>Wed, 28 Mar 2018 14:00:13 +0800</pubDate><description><![CDATA[    美好一天度过了一半，写完这个增加了新功能的线性表我就去收被子了，再晒就热的盖不了了orz    接着上次的功能继续添加，过段时间我会更新一下，加入测试函数和BubbleSortEx( )，好了开始吧，首先介绍一下各个函数的功能：给一个顺序表进行初始化void SeqListInit(SeqList* seq);  将一个元素插入到顺序表的末尾 void SeqListPushBack(Se...]]></description><category></category></item><item><title><![CDATA[一个可以增删改查插入的单链表（一）]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79705842</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79705842</guid><author>HanMamnHanah</author><pubDate>Tue, 27 Mar 2018 09:31:10 +0800</pubDate><description><![CDATA[    晚上到了，还是在被催作业，那我们就开始上传一个可以增删改查指定位置插入指定位置删除的单链表吧，前提：有头结点，无环linklist.h#pragma once
typedef char LinkNodeType;

typedef struct LinkNode{
	LinkNodeType data;
	struct LinkNode* next;
}LinkNode;

typedef...]]></description><category></category></item><item><title><![CDATA[一个增删改查插的线性表（一）]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79705495</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79705495</guid><author>HanMamnHanah</author><pubDate>Tue, 27 Mar 2018 09:27:05 +0800</pubDate><description><![CDATA[    又是美好的一天结束了，为了让被催作业的每一天过得不是那么痛苦，睡觉之前上传一下最近写的一个拥有初始化、增删改查、指定位置读取、修改，插入元素，读取指定位置下标的一个链表代码seqlist.h#pragma once

#include&amp;lt;stddef.h&amp;gt;

#define SeqlistMaxSize 1000
typedef char SeqType;

typedef st...]]></description><category></category></item><item><title><![CDATA[Linux入门总结（二）]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79519280</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79519280</guid><author>HanMamnHanah</author><pubDate>Wed, 21 Mar 2018 14:26:34 +0800</pubDate><description><![CDATA[        在上一篇文章里我写了一些关于Linux操作系统最基础了解性的信息，使得一些从未接触过Linux的朋友阅读之后在心有有一个Linux系统的框架。        入门总结二大多将讲到：            1.在vim和gcc之后稍有名气的编辑器和编译器；            2.两个好用的命令gdb，readelf；            3.一段代码：在Linux下实现一个进度...]]></description><category></category></item><item><title><![CDATA[Linux入门总结（一）]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79505772</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/79505772</guid><author>HanMamnHanah</author><pubDate>Sat, 10 Mar 2018 11:40:40 +0800</pubDate><description><![CDATA[        在最近一周的时间里，学习到了很多关于Linux操作系统的知识，并开始学习使用vim这个强大的编译器，由于Linux下的各种命令操作甚多，在此略作总结，等到深入学习后，会再次总结一个深入学习心得。        1.权限        在Linux下文件分为目录（d）和文件（-），均由三个字符一组rwx（u） rwx（g） rwx（o），u（you）代表本组用户，g（group）代表...]]></description><category></category></item><item><title><![CDATA[可变参数列表总结]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/78938715</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/78938715</guid><author>HanMamnHanah</author><pubDate>Sat, 30 Dec 2017 18:38:49 +0800</pubDate><description><![CDATA[声明一个va_list类型的变量arg，它用于访问参数列表的未确定部分，即括号中的...部分int average(int
 n,...）arg这个变量是调用va_start来初始化的，这个命令行的过程就是在初始化，va_start有两个参数，第1个参数是刚刚定义在va_list类型后的变量名arg，第二个参数是省略号前最后一个有名字的参数，比如n，初始化过把arg变量设置为指向可变参数部分的第]]></description><category></category></item><item><title><![CDATA[关于C和我]]></title><link>https://blog.youkuaiyun.com/HanMamnHanah/article/details/78444384</link><guid>https://blog.youkuaiyun.com/HanMamnHanah/article/details/78444384</guid><author>HanMamnHanah</author><pubDate>Sat, 04 Nov 2017 17:05:16 +0800</pubDate><description><![CDATA[我的小日常~]]></description><category></category></item></channel></rss>