Python笔记
学习Python过程中的一些笔记
MarconiYe
这个作者很懒,什么都没留下…
展开
-
Python爬虫Xpath检索XML文件
首先下载lxml模块:pip install lxml导入lxml中的etree模块:from lxml import etree解析XML字符串或者HTML等文件:解析XML字符串xml = ''' <body> <div> <ul> <li class="python">Python</li> <li class="pachong">爬虫</li> .原创 2022-03-08 15:14:16 · 1273 阅读 · 0 评论 -
Python模块及__name__,__all__变量的用法
我们都知道,Python中导入模块有两种方法,import和from...impo...,其中,import和from...import *都可以导入模块中的所有方法,但当导入的模块中有__all__魔术变量时,两者就有所不同了。假设模块test.py中有三个方法A,B,C,但是__all__ = ['A','B'],这样的话,如果某程序导入该模块的方法为import,仍然ABC三个函数都可以调用,但当导入模块的方法是from...import *时,只能调用变量__all__中的A,B两个函数。开发.原创 2021-09-09 20:39:04 · 257 阅读 · 0 评论 -
Python中如何动态绑定属性和方法
在学Java,C++等静态语言时,不能在类外为某个对象临时定义一个类内的属性或方法,所有的方法和属性都必须在类内声明,而Python,JavaScript,PHP等脚本语言是可以在类外为某个类对象动态添加属性或方法的!添加类属性的方法很简单class Animal: passcat = Animal()cat.name = "小白"像上面那样,直接用某个类对象创建一个新的属性即可。添加实例方法时,需要import types来引入MethodType方法,具体操作如下:imp原创 2021-09-07 21:27:57 · 365 阅读 · 0 评论 -
Python使用单例模式创建类
所谓"单例模式",就是我们在创建某个类对象时,只能创建一个对象,比如我们打开电脑的回收站,在系统中只能打开一个回收站,也就是说,整个系统中最多只能有一个实例对象,重复打开也是同一个实例,简单地说就是不管创建多少此对象,类返回的都是最初创建的,不会再新建其他对象。下面介绍两种方法来实现单例模式:利用类属性保存初次创建的实例对象,第二次实例化的时候判断类属性是否有保存实例对象,如果有就返回类属性保存的,如果没有就调用父类__new__方法创建新的实例对象。class SingleCase(object原创 2021-09-07 20:27:23 · 170 阅读 · 0 评论 -
Python中访问类中的私有变量的两种方法
我们知道,类中的私有变量是不能直接在类外访问或修改的,因此我们可以设置一个get函数和一个set函数来间接访问和修改私有属性,那么每次访问和修改的都需要调用函数,有没有更简单的方法呢?下面介绍两种方法:1. property(属性函数)比如People类中有一个实例私有化变量__age,我们设置两个函数get_age()和set_age()分别用来访问和修改age,那么我们可以再定义一个类变量age并执行以下语句:age = property(get_age,set_age)此时我们就可以通过外部原创 2021-09-07 20:01:27 · 5995 阅读 · 0 评论 -
Python中类内的init,new,str三个魔术方法的使用
**__init __**魔术方法相当于类中的构造函数,方法体中即为创建类对象时进行初始化的操作,不多赘述。**__new __**魔术方法为创建对象必须执行的函数,如果没写,系统有一个默认的函数,如果自己写了new函数,那么必须包含以下一行代码:def __new__(cls): return object.__new__(cls) pass如果这行代码没写,那么创建不了该类的对象。__str __当我们打印一个实例对象时,输出的是实例对象的地址,而如果我.原创 2021-09-06 22:26:47 · 222 阅读 · 0 评论 -
Python函数的定义和一些基本用法
不像C++、Java等语言一样需要设定函数的返回值,Python中定义函数时,统一用关键字def,而参数列表也同样不需要设定参数的数据类型,而且当参数的数目不确定时,可以在参数前加上*,让这个参数变成一个参数元组,这样一来,我们便可以通过索引来访问某个参数,例如:def my_function(*kids): print("The youngest child is " + kids[2])my_function("Phoebe", "Jennifer", "Rory")参数默认值的设置:.原创 2021-09-06 22:09:00 · 96 阅读 · 0 评论 -
Python字典(dict)基本用法
字典,类似于我们现实中的英汉字典,每个中文对应着一个意思,我们Python中的字典则在集合的基础上,以键值对的方式存放数据。我们知道集合中的元素是无序的,同样,字典中的元素也是无序的,因此不能用索引值访问 但我们可以通过键,来访问对应的值。创建字典thisdict = { "brand": "Porsche", "model": "911", "year": 1963}我们可以看到,大括号中每个元素包含两个部分:键和值。还可以利用dict()构造函数来创建一个字典thisdi原创 2021-08-29 16:04:41 · 1555 阅读 · 0 评论 -
Python集合(set)基本用法
"集合",顾名思义,与列表和元组一样,也是一个数组,但与这两个不一样的是,集合里的元素是无序的,而且元素是不可重复出现的。注意:即便引用不重复,但只要两个变量中的数据是一致的,一起传入到集合中都会被当作一个来处理因为集合中的元素没有顺序,所以不能通过索引值来对集合中的某个元素进行操作,但仍然可以利用for循环来遍历集合中的元素,同样也可以用in关键字来判断某个元素是否在集合中。可以使用add()方法来向集合中添加元素也可以用update()将多个元素添加到集合中thisset = {"apple原创 2021-08-29 15:24:28 · 293 阅读 · 0 评论 -
Python元组(tuple)的基本用法
元组的大多数用法与列表类似,可以借鉴我的另一篇列表的基本用法创建元组a = ("abc",) #特别注意,创建单元素元组时,必须在元素后面加一个逗号,否则这个例子中的a会被当做str类型变量。a = tuple(("abc")) #可以利用tuple的构造函数,传入的参数是一个元组(注意双括号)a = tuple("abc") #如果传入一个字符串,并且强制转换为tuple时,输出结果会把每个字符分开当成元组的一个元素,从而形成元组元组与列表最大的不同是不能修改元组的元素,当然,如果想修改原创 2021-08-29 13:41:43 · 1441 阅读 · 0 评论 -
Python的list列表基本用法
创建列表thislist = ["apple", "banana", "cherry"] #用中括号直接创建thislist = list(("apple", "banana", "cherry")) #用list()构造函数创建可以通过索引直接访问或赋值(即更改)可以用in关键字来判断某个元素是否在这个列表中,例如:myList = ["abc","fw"]a = "fw"print(a in myList) #输出Trueinsert(index,obj)函数可以在inde.原创 2021-08-29 13:12:36 · 306 阅读 · 0 评论 -
Python字符串(str)类型的一些基本操作
除了用单引号或双引号来表示字符串外,还可以用三个单引号或双引号来实现多行字符串表示:'''abc'''效果相当于在每一行的末尾加一个'\n'字符串切片,顾名思义,切片可以将一个字符串提取出一段并返回,语法为slice[start:end:step] #左闭右开的区间,step默认为1s = "hello"print(s[::-1]) #step为-1,倒序输出字符串的一些常用方法,还有一些方法的实例...原创 2021-08-29 12:20:15 · 128 阅读 · 0 评论