python
bubblelone
微信156151554
展开
-
【python进阶笔记】*args和**kwargs
*args的用法在函数定义的时候,参数使用*args,表示可以传入任意个数的参数,args表示一个元组问题:1、可以不传参数吗2、args表示什么?def test_var_args(f_arg, *argv): print("first normal arg:", f_arg) print("argv是什么", argv, type(argv)) for arg in argv: print("another arg through *argv原创 2022-02-08 23:05:32 · 622 阅读 · 0 评论 -
字符串和列表常用方法
字符串split 指定分隔符,将字符串进行分割,返回列表使用方法: str.split('-')参数: 传入分隔符,例如split('-')返回值: 返回分割后的字符串列表join 将序列中的元素以指定的字符连接生成一个新的字符串使用方法: str.join(['aa', 'bb', 'cc'])参数: 传入要连接的元素序列,例如join(['aa'...原创 2020-04-20 15:18:44 · 432 阅读 · 0 评论 -
python3.8安装mysqlclient
在python3.8下,通过pipinstall mysqlclient安装报错fatal error C1083: Cannot open include file: ‘mysql.h’: No such file or directory,通过下载whl来安装,下载对应版本通过import pip._internal; print(pip._internal.pe...原创 2020-03-30 15:19:40 · 3165 阅读 · 0 评论 -
python基础-类变量和实例变量
类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量实例变量: 定义在方法里面的变量,一般在__init__里面,只能通过对象名引用,实例变量的增加、更新形式,形如self.a = 55 ...原创 2019-01-06 10:46:18 · 818 阅读 · 0 评论 -
python基础-多重继承
继承多个父类时,子类中使用哪个父类的属性,跟class语句中这些父类的顺序有关系,以前面的父类的属性为准 ,在python中使用MRO(方法解析顺序)这种算法来查找多重继承下使用哪个父类的属性class B: num = 78class C: num = 70class A(B, C): passprint(A.__mro__)print(A().num...原创 2019-01-06 12:20:14 · 789 阅读 · 0 评论 -
python基础-import和__import__
当执行import sys的时候,实际上是执行了__import__('sys')原创 2019-01-13 20:55:21 · 254 阅读 · 0 评论 -
random.randint和range
random.randint(1,10) 返回一个1到10的随机数,包含1和10range(5) 相当于 range(0,5) 01234,range(a,b) ,即取值个数是b-a,不包含b原创 2019-01-20 12:37:40 · 6276 阅读 · 1 评论 -
遍历列表同时删除符合条件元素,结果不符合预期
num_list = [1, 2, 3, 4, 5]print(num_list)for item in num_list: if item == 2 or item == 3 or item == 4 : num_list.remove(item) else: print(item)print(num_list)运行结果:[1, ...原创 2019-01-31 15:20:15 · 284 阅读 · 0 评论 -
deque的简单使用
1、deque可以用作栈,也可用作双向队列2、list能用的方法,deque全都能用,deque还有一些list没有的方法 from collections import dequea = deque()print(a)a = deque([1,2,3,4,5])print(a)a.append(6)print(a)a = deque([1,2,3,4,5], max...原创 2019-02-04 11:20:20 · 184 阅读 · 0 评论 -
【Python之坑】写两次yaml.load(f),第二次打印出来内容是none
如以下代码:写两次yaml.load(f),第二次打印出来内容是none,什么原因?import yaml, os# Create your tests here.base_dir = os.path.dirname(os.path.dirname(__file__))file_dir = base_dir + '/case_data/test.yml'with open(file...原创 2018-11-13 16:46:38 · 1756 阅读 · 0 评论 -
阶乘python的几种实现
def factorial(number): if number == 0 or number ==1: return 1 else: return number * factorial(number-1)原创 2016-10-22 10:39:27 · 1037 阅读 · 0 评论 -
Python 主要模块和常用方法简览
原文地址:http://blog.csdn.net/hwhjava/article/details/22284399********************PY核心模块方法********************os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rena转载 2016-10-16 21:31:20 · 686 阅读 · 0 评论 -
python基础-可迭代对象、迭代器
可直接用于for循环的对象,统称为可迭代对象,Iterable包括集合数据类型,如list、tuple、set、dict、str,还包括生成器、迭代器原创 2017-04-08 08:58:34 · 424 阅读 · 0 评论 -
Iterables vs. Iterators vs. Generators
来源:http://nvie.com/posts/iterators-vs-generators/译文:http://www.jianshu.com/p/4c8e4fb4ef37#Occasionally I've run into situations of confusion on the exact differences between the following rela转载 2017-04-08 10:44:53 · 456 阅读 · 0 评论 -
python基础-生成器
生成器是根据某种算法得出的一系列元素,需要用到该元素,才会生成出来,比列表节省内存空间。第一种创建生成器的方法:1、gen = (x **2 for x in range(5))type(gen)通过next()函数得到生成器的每个值next(gen)0next(gen)1next(gen)4next(gen)9next(g原创 2017-04-05 21:43:50 · 310 阅读 · 0 评论 -
python真相-列表和元组
一、列表:a = [1,2,3,4,'test']实际上,列表中存放的是列表的引用,a 指向整个列表引用,列表中的引用指向具体的对象。所谓列表是可变对象,可以原位改变,实际上是列表中的引用可以改变指向,指向别的对象。二、元组和列表类似,实际上,元组中存放的是元组的引用,变量指向整个元组引用,元组中的引用指向具体的对象。所谓元组是不可变原创 2017-03-15 14:16:10 · 232 阅读 · 0 评论 -
python基础-python3编码问题汇总
来源:http://www.jb51.net/article/92006.htm这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题。。。。希望大家不吝赐教!我用的是python3,错误在对html response的decode时抛出,代码原样为:?12response转载 2017-04-10 23:02:20 · 6234 阅读 · 0 评论 -
python基础-encode与decode,中文乱码
来源:http://blog.csdn.net/a921800467b/article/details/8579510为什么会报错“UnicodeEncodeError:'ascii' codec can't encode characters in position 0-1: ordinal notin range(128)”?本文就来研究一下这个问题。字符串在Python内部的转载 2017-04-10 23:22:29 · 693 阅读 · 0 评论 -
python基础-列表生成式
用一行语句生成一个列表:L = [x ** 2 for x in range(5)]type(L)<class 'list'>L[0, 1, 4, 9, 16] for循环后面还可以加上if条件判断:L2 = [x ** 2 for x in range(5) if x > 0]L2[1, 4, 9, 16] 还可以使用两层循环:L3 = ...原创 2017-04-06 07:23:29 · 297 阅读 · 0 评论 -
python3字符串编码
以此记录:Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32>>>'的''的'>>>'的'.encode()b'\xe7\x9a\x84'>>>'ab'.encode()b'ab'>>>'的'.encode(e原创 2017-05-28 17:06:26 · 467 阅读 · 0 评论 -
正则表达式1
在看python基础教程的时候,遇到这样一个正则表达式:a = re.sub(r'\*(.+?)\*', r'\1', '*d6*')原创 2015-11-01 18:51:48 · 328 阅读 · 0 评论