Python
qq_39935684
慢慢理解世界 慢慢更新自己
展开
-
Python:requests高级用法(官网笔记)
1.Session()方法2.请求头/响应头import requestsr = requests.get('https://www.baidu.com')print(r.request.headers) # 请求头print(r.headers) # 响应头3.Prepared Requests4.SSL证书验证5.客户端证书6.CA证书7....原创 2022-05-03 20:42:20 · 1121 阅读 · 0 评论 -
Python小题:基础
1.输入一行字符,分别统计出其中英文字母,空格,数字,和其他字符的个数s = '787r3huihiu uhiahfoihw oij3o24;/"\.;oihjo2i h34oihoi531'alpha = 0space = 0digit = 0other = 0for i in s: if i.isalpha(): alpha += 1 elif i.isspace(): space += 1 elif i.isdigit():原创 2022-04-16 21:29:57 · 1309 阅读 · 0 评论 -
Python小题:str字符串相关
1.将任一字符串翻转;string="sfdfdbrbtsdefradesfeasd"print(string[::-1])原创 2022-04-16 20:01:51 · 264 阅读 · 0 评论 -
python小题:数学篇
1.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?原创 2022-04-16 14:25:51 · 803 阅读 · 0 评论 -
python小题:生活篇
1.企业发放的奖金根据利润提成计算利润i低于或等于10万元时,奖金可提10%利润高于10万元时,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%20万到40万之间时,高于20万的部分,可提成5%40万到60万之间时,高于40万元的部分,可提成3%60万到100万之间时,高于60万元的部分,可提成1.5%高于100万元时,超过100万元的部分按1%提成;从键盘输出当月利润i,求应发奖金总数;i = int(input("请输入当月利润:"))if i &原创 2022-04-16 14:21:50 · 1016 阅读 · 0 评论 -
python小题:数字类
1.有1、2、3、4、个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?for i in range(1,5): for j in range(1,5): for k in range(1,5): if (i!=j) and (i!=k) and (j!=k): print(i,j,k)背景知识:1....原创 2022-04-16 14:19:16 · 353 阅读 · 0 评论 -
python小题:年月日时分秒时间相关
1.输入某年某月某日,判断这一天是这一年的第几天?原创 2022-04-16 12:45:54 · 318 阅读 · 0 评论 -
python:网络编程
网络编程:使用编程语言实现多台计算机的通信。网络编程三要素:IP地址 端口 协议原创 2022-02-11 11:04:20 · 656 阅读 · 0 评论 -
python:魔法方法
Python 的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法,魔法方法在恰当的时候就会被激活,自动执行。一、__new__()方法二、__str__()方法三、__repr__()方法四、__del__()方法五、__eq__()方法六、...原创 2022-02-09 18:18:49 · 685 阅读 · 0 评论 -
面向对象之反射
反射这个术语在很多语言中都存在,并且存在大量的应用;反射主要是指可以访问,检测和修改它本身状态或行为的一种能力,在python中一切皆对象(类,实例,模块等等都是对象),那么我们可以通过反射的形式操作对象相关的属性;python中反射主要有下面几个方法:hasattr(object,name):判断对象中有没有一个name字符串对应的方法或属性 getattr(object,name,default=None):获取对象name字符串属性的值,如果不存在返回default的值 setattr(o原创 2022-01-18 15:23:36 · 714 阅读 · 0 评论 -
面向对象之多态
多态:在java里,多态是同一个行为具有不同的表现形式或形态的能力,就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中的实现方法,必须在由程序运行期间才能决定;多态存在的三个必要条件:继承 重写 父类引用指向子类对象如下需求:使用手机扫描二维码支付时,二维码并不知道客户是通过何种方式进行支付,只有通过二维码才能判断是走哪种支付方式执行对应流程;原创 2022-01-18 11:41:25 · 457 阅读 · 0 评论 -
python:dir()和__dict__对比
dir()内置函数用于实例对象的属性及方法列表;__dict__:返回实例对象的内置属性字典;# dir内置函数与__dict__()的区别class Student(): def __init__(self, name, sex): self.name = name self.sex = sex def test(self): passs1 = Student('sxm', 'male')print(dir(s1)) .原创 2022-01-11 15:44:43 · 390 阅读 · 0 评论 -
python:type和isinstance方法
isinstance()函数是python内置的函数,用于判断一个实例对象是否是一个已知的类型;# type和isinstance方法class Animal(): def est(self): print('eat...')class Dog(Animal): def swim(self): print('swim...')d1 = Dog()print(type(d1))# isinstance可以用于判断d1,是不是某个类的实例对象或原创 2022-01-11 14:55:28 · 201 阅读 · 0 评论 -
python:类与对象
一、类与实例对象python V2.X要求类继承原生object;python 3.X默认会添加原生Object类继承,无需手动添加;原创 2021-12-29 22:27:17 · 708 阅读 · 0 评论 -
python:正则表达式
针对字符串提炼出需要的部分;正则表达式(或RE)是一种小型的,高度专业化的编程语言,(在python中)它内嵌在python中,并通过re模块实现。正则表达式模式被译为一系列的字节码,然后由用C编写的匹配引擎执行;一、元字符使用 说明 案例 说明 . 除换行符以外的任意一个符号;re.s模式也可以使.匹配包括换行在内的所有字符 ^ 匹配字符串的开头;在字符集[]中使用表示取反的意思 $ 匹配字符串的结尾原创 2021-12-12 19:39:11 · 709 阅读 · 0 评论 -
python:logging模块
一、basicConfig日志1.案例import logging# basicConf日志LOG_FORMAT = '%(asctime)s %(name)s %(levelname)s %(pathname)s %(lineno)s %(message)s'DATE_FORMAT = '%Y-%m-%d %H:%M:%S'logging.basicConfig(level=logging.WARNING, #默认是WARNING级别 for原创 2021-12-06 17:19:54 · 274 阅读 · 1 评论 -
python:hash模块
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个原创 2021-12-05 23:53:25 · 150 阅读 · 0 评论 -
python:random函数
import random# 获取大于0且小于1的随机浮点型数字print(random.random())# 获取大于等于1且小于等于10之间的整数print(random.randint(1,10))# 获取大于等于1且小于10之间的整数print(random.randrange(1,10))# 从列表中多选一print(random.choice([11,522,433]))# 从列表中随机选两个作为新的列表print(random.sample([11,22,33,44],.原创 2021-12-05 22:08:14 · 286 阅读 · 0 评论 -
python:random模块
import random# 获取大于0且小于1的随机浮点型数字print(random.random())# 获取大于等于1且小于等于10之间的整数print(random.randint(1,10))# 获取大于等于1且小于10之间的整数print(random.randrange(1,10))# 从列表中多选一print(random.choice([11,522,433]))# 从列表中随机选两个作为新的列表print(random.sample([11,22,33,44],.原创 2021-12-05 16:44:20 · 1170 阅读 · 0 评论 -
Python模块与包
一个.py文件就是一个模块,类似于一个文件夹就是一个包;一、模块1.模块介绍在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。而这样的一个py文件在Python中称为模块(Module)。模块是组织代码的更高级形式,大大提高了代码的阅读性和可维护性。模块一共四种:解释器内建模块 python标准库原创 2021-11-14 19:12:49 · 542 阅读 · 0 评论 -
Python之json的序列化和反序列化
序列化: 通过某种方式把数据结构或对象写入到磁盘文件中或通过网络传到其他节点的过程。反序列化:把磁盘中对象或者把网络节点中传输的数据恢复为python的数据对象的过程。序列化最重要的就是json序列化。JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读原创 2021-11-14 16:50:02 · 1127 阅读 · 1 评论 -
Python常见面试题
目录一、for循环相关1.python中如下代码,最后一次打印的结果是什么?一、for循环相关1.python中如下代码,最后一次打印的结果是什么?li = [1,2,3,4]for i in li: print(i)print(i)答:4;python中for循环没有独立开辟作用域的能力,所以for循环中的变量是全局作用域,最后一次打印的值是for循环中变量最后的值;...原创 2021-10-30 20:39:50 · 128 阅读 · 0 评论 -
Python赋值小知识补充
#单个变量赋值x = 1#两个变量赋值a,b = 1,2 #即a = 1 ,b = 2 ; 等同于 a,b = [1,2]q,w = [1,2,3]#此时会报ValueError:too many values to unpack;#可以用如下方法解决:q,*w = [1,2,3]#即q = 1 ,w = [1,2]以上表述的两个变量赋值常用语字典dict的遍历中:dict = {"name":"yuan","age":18}print(dict.items(..原创 2021-10-24 23:54:56 · 149 阅读 · 0 评论 -
Python使用RabbitMQ
1.消息队列介绍MQ全称为Message Queue 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。这样发布者和使用者都不用知道对方的存在。生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓原创 2021-10-19 17:33:01 · 300 阅读 · 0 评论 -
Python模块与包
目录1.模块1.1模块介绍2.模块导入1.3__name__2.包2.1什么是包2.2导入包语法2.3导入包的本质2.4__init__文件1.模块1.1模块介绍在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。而这样的一个py文件在Python中称为模块(Module)。原创 2021-10-16 23:07:35 · 929 阅读 · 0 评论 -
Python文件操作
1.编码1.1编码方式ASCII表众所周知,计算机起源于美国,英文只有26个字符,算上其他所有特殊符号也不会超过128个。字节是计算机的基本储存单位,一个字节(bytes)包括八个比特位(bit),能够表示出256个二进制数字,所以美国人在这里只是用到了一个字节的前七位即127个数字来对应了127个具体字符,而这张对应表就是ASCII码字符编码表,简称ASCII表。后来为了能够让计算机识别拉丁文,就将一个字节的最高位也应用了,这样就多扩展出128个二进制数字来对应新的符号。这张对应表因为是在ASC原创 2021-10-13 21:27:40 · 329 阅读 · 1 评论 -
Python数学函数
目录1.数学函数2.随机数函数3.三角函数4.数学常量1.数学函数 函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果原创 2021-10-11 14:58:10 · 436 阅读 · 0 评论 -
Python可变数据类型和不可变数据类型+深拷贝浅拷贝
目录1.可变和不可变数据类型2.深浅拷贝1.可变和不可变数据类型Python的数据类型可以分为可变数据类型(列表和字典)和不可变数据类型(整型、浮点型、字符串、布尔类型以及元组)。可变类型:在id(内存地址)不变的情况下,value(值)可以变,则称为可变类型不可变类型:value(值)一旦改变,id(内存地址)也改变,则称为不可变类型(id变,意味着创建了新的内存空间)2.深浅拷贝# 案例1:变量赋值l1 = [1,2,3]l2 = l1 # 不是拷贝,完全指向一块内原创 2021-10-10 20:35:24 · 210 阅读 · 0 评论 -
Python函数
函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,避免大量重复的代码。1.函数声明'''def 函数名(参数列表): ''' # 函数文档 params: return: ''' # 实现特定功能的多行代码 [return [返回值]] #可选函数名:一个符合 Python 语法的标识符,最好见名知意,多个单词可以使用_表示,比如cal_sum形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号(原创 2021-10-10 20:30:33 · 183 阅读 · 0 评论 -
Python重要数据类型
1.列表--list注意:不同于C,java等语言的数组,python的列表可以存放不同的,任意的数据类型对象。1.1序列操作索引求值l = [10,11,12,13,14]print(l[2]) # 12print(l[-1]) # 14切片操作l = [10,11,12,13,14]l[0:2:2]#1、取出的元素数量为:结束位置 - 开始位置;#2、取出元素不包含结束位置对应的索引,列表最后一个元素使用 list[len(slice)] 获取;#3、当缺省开始.原创 2021-10-10 20:17:30 · 202 阅读 · 0 评论 -
Python流程控制语句
目录1.if分支语句2.while循环(条件循环)3.for循环(遍历循环)4.退出循环--break、continue5.循环嵌套1.if分支语句'''if 表达式 1: 代码块 1elif 表达式 2: 代码块 2elif 表达式 3: 代码块 3...# 其它elif语句else: 代码块 n''' 2.while循环(条件循环)count = 0 # 初始化语句while count < 10: # 条.原创 2021-10-10 18:33:09 · 157 阅读 · 0 评论 -
python输入输出函数
目录1.输出函数--print2. 输入函数--input1.输出函数--printdef print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or原创 2021-10-10 17:47:00 · 374 阅读 · 0 评论 -
Python运算符
目录1.算数运算符2.赋值运算符3.比较运算符4.逻辑运算符1.算数运算符运算符 说明 实例 结果 + 加 1+1 2 - 减 1-1 0 * 乘 1*3 3 / 除法(和数学中的规则一样) 4/2 2 // 整除(只保留商的整数部分) 7 // 2 3 % 取余,即返回除法的余数 7 % 2 1 ** 幂运算/次方运算,即返原创 2021-10-10 17:17:45 · 136 阅读 · 0 评论 -
Python基础数据类型
1.整型和浮点型整型:Python中整数都是整型(int);整型数字之间进制转换;# 十六进制:以0x开头print(0x11)print(0x111)# 二进制print(0b101)print(0B101)# 八进制print(0o12)print(0o23)# 十进制转换为二进制print(bin(3))# 十进制转换为十六进制print(hex(19))# 十进制转换为八进制print(oct(10))浮点型:在python中小数都属于浮..原创 2021-10-10 17:03:12 · 152 阅读 · 0 评论 -
Python规范
标识符指的是:变量、函数、类、模块以及其他对象的名称;标识符的命名规则:标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。 Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。 在 Python 中,标识符中的字母是严格区分大小写 Python 语言中,以下划线开头的标识符有特殊含义 Python 允许使用汉字作为标识符(不推荐) 除此之外,根据不同的应用场景,也有原创 2021-10-10 15:20:10 · 362 阅读 · 0 评论 -
Pycharm快捷键
选项 描述 Ctrl+Alt+Space 快速导入任意的类和函数 Ctrl+Shift+Enter 语句完成,自动补全句尾的引号、括号等 Ctrl+/ 注释代码,如果已经注释则取消注释 Alt +Enter 快速修正问题,如有多种,需要手动选择 Ctrl+D 复制选中的行...原创 2021-09-30 10:09:02 · 233 阅读 · 0 评论 -
pytest运行测试
-s:用于关闭捕捉,从而输出打印信息-v:用于增加测试用例冗长-q:减少测试的运行冗长,也可以用--quiet代替-k:运行名称中包含某字符串的测试用例 例如:pytest -k add test_assert.py 运行test_assert.py文件中,测试用例名称中包含add的用例-x:如果出现一条测试用例失败,则退出测试运行测试目录:pytest ./test_dir运行指定特定类或方法执行:pytest test_fixture_02.py::TestMultiply::te...原创 2021-05-10 23:34:10 · 90 阅读 · 0 评论 -
pytest参数化
import pytestimport math#pytest参数化@pytest.mark.parametrize( "base,exponent,expected", [(2,2,4), (2,3,8), (1,9,1), (0,9,0)], ids=["case1","case2","case3","case4"])def test_pow(base,exponent,expected): assert math.pow(b.原创 2021-05-10 23:24:29 · 85 阅读 · 0 评论 -
Fixture_pytest
Fixture通常用来对测试方法,测试函数,测试类,和整个测试文件进行初始化或还原测试环境。setup_module/teardown_module:在当前文件中,在所有测试用例执行之前与之后执行setup_class/teardown_class:在当前测试类的开始与结束时执行setup_function/teardown_function:在每个测试函数之前和之后执行setup_method/teardown_method:在每个测试方法开始与结束时执行setup/teardown:在每个测试原创 2021-05-10 23:13:53 · 59 阅读 · 0 评论 -
pytest断言
pytest单元测试框架并没有提供专门的断言方法,而是直接使用Python的assert进行断言。import pytestdef add(a,b): return a+bdef prime(n): if n<=1: return False for i in range(2,n): if n % i == 0: return False return True#测试相等def test原创 2021-05-10 22:55:10 · 158 阅读 · 0 评论