![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
lucky0han
永远保持低姿态,你才能不断成长。
展开
-
Python 多线程 run() 与 start()的关系
先说结论:1、调用多线程时用start()2、start()中会调用run()3、run()不会启动多线程代码分析:1、首先看run()的代码: def run(self): """Method representing the thread's activity. You may override this method in a subclass. The standard run() method invokes .原创 2020-07-18 15:51:15 · 1388 阅读 · 0 评论 -
Python——深拷贝与浅拷贝
s1 = '你好's2 = s1 print(id(s1))print(id(s2))>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>21180513056722118051305672变量之间赋值相当于C++引用a = ['c1', 'c2']for..原创 2020-06-17 23:46:56 · 224 阅读 · 0 评论 -
Python——各种编码详解
抄了各种资料的分析以后得出了结论~~~~~~~~~~~~~~~~~~~~~~我们知道,计算机是以二进制为单位的,也就是说计算机只识别0和1,也就是我们平时在电脑上看到的文字,只有先变成0和1,计算机才会识别它的意思。这种数据和二进制的转换规则就是编码。计算机的发展中,有ASCII码,GBK,Unicode,utf-8编码。我们先从编码的发展史了解一下编码的进化过程。编码发展史美国人发明了计算机,用八位0和1的组合,一一对应英文中的字符,整出了一个表格,ASCII表。 计算机传入中国,中国地大物原创 2020-06-16 23:09:16 · 2908 阅读 · 1 评论 -
Python——元类
作者:小明链接:https://zhuanlan.zhihu.com/p/30861351来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。什么是元类?理解元类(metaclass)之前,我们先了解下Python中的OOP和类(Class)。面向对象全称 Object Oriented Programming 简称OOP,这种编程思想被大家所熟知。它是把对象作为一个程序的基本单元,把数据和功能封装在里面,能够实现很好的复用性,灵活性和扩展性。OOP中有..转载 2020-06-09 11:19:56 · 202 阅读 · 0 评论 -
Python——自省
[('__annotations__', {}), ('__call__', <method-wrapper '__call__' of function object at 0x00000223871679D8>), ('__class__', <class 'function'>), ('__closure__', None), ('__code__', <code object function at 0x0000022386E84A50, file "D:/wo.转载 2020-06-04 11:57:58 · 299 阅读 · 0 评论 -
python——*和**
python中’*‘和’**'的使用分两个方面,一个是计算,另一个是参数传递过程中元素的打包和解包。计算中的运用'*‘和’**'在python中最常见的作用分别是‘相乘’和‘乘幂’,如下:>>> a = 2>>> b = 3>>> c = 5*6>>> d = 4**3>>> e = a*b>>> f = a**b需要注意的是在numpy中星号和双星号对于array和matri.转载 2020-06-04 11:17:55 · 316 阅读 · 0 评论 -
Python——mpi4py
计算机编程语言很多,但是适合高性能数值计算的语言却并不多,在高性能计算的项目中通常会使用到的语言有 Fortran、C、C++ 等,他们是传统的高性能计算机语言,这主要得益于它们的静态编译特性,使得有它们生成的机器代码,在底层上做了很多优化,能够充分发挥硬件的性能,但是这一特性也限制了它们的灵活性和易用性。一些动态的计算机语言在灵活性和易用性方面有着明显的优势,但是由于性能等其他方面的原因却并不适合用来做大规模的数值计算,更别说用到高性能计算领域了。这其中有一个例外,就是 Python 计算机语言。作为一种转载 2020-05-30 23:44:39 · 1525 阅读 · 0 评论 -
ModelSerializer序列化与反序列化(重点)
视图类class UserV3APIView(APIView): # 单查群查 def get(self, request, *args, **kwargs): pk = kwargs.get('pk') if pk: user_obj = models.User.objects.filter(is_delete=False, pk=pk).first() if not user_obj:转载 2020-05-29 16:33:38 · 857 阅读 · 0 评论 -
django——rest framework Serializer
Serializer 在这里通过一个验证用户身份的例子说明rest_framework中serializer.Serialize的使用. 编写serializer Serializer的使用不需要依赖于模型,所以可以不要编写model,直接编写serializer文件.from rest_framework import serializersclass TestSerializer(serializers.Serializer): name = serializ.转载 2020-05-29 11:10:05 · 232 阅读 · 0 评论 -
Python 魔法方法(一) __new__()
首先,只有新式类才有魔法方法__new__(),从Object类继承的子类,都是新式类。object类关于__new__()的定义如下:@staticmethod # known case of __new__ def __new__(cls, *more): # known special case of object.__new__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T "...转载 2020-05-20 14:36:07 · 306 阅读 · 0 评论 -
Python 魔法方法(二) __str__() 和 __repr__()
两个方法的作用:将类信息转换成字符串形式的内容,让用户和开发人员获得类的更多信息。先看例子>>> class A: pass>>> a1 = A()>>> a1<__main__.A object at 0x000000000302C358>>>> print(a1)<__main__.A object at 0x000000000302C358>这样,智能知道A这个对象...转载 2020-05-20 14:34:41 · 149 阅读 · 0 评论 -
Python 魔法方法(三) __getattr__,__setattr__, __delattr__
1、__getattr__当我们访问一个不存在的属性的时候,会抛出异常,提示我们不存在这个属性。而这个异常就是__getattr__方法抛出的,其原因在于他是访问一个不存在的属性的最后落脚点,作为异常抛出的地方提示出错再适合不过了。看例子,我们找一个存在的属性和不存在的属性。class A(object): def __init__(self, value): self.value = value def __getattr__(self, item): ...转载 2020-05-20 14:32:28 · 315 阅读 · 0 评论 -
Tkinter——事件绑定
commandcommand是控件中的一个参数,如果使得command=函数,那么点击控件的时候将会触发函数 能够定义command的常见控件有: Button、Menu… 调用函数时,默认是没有参数传入的,如果要强制传入参数,可以考虑使用lambdafrom tkinter import *root=Tk()def prt(): print("hello")def func1(*args,**kwargs): print(*args,**kwargs)hello_b转载 2020-05-11 10:15:46 · 391 阅读 · 0 评论 -
PYTHON tkinter 控件的焦点移动、回调函数传参
PYTHON tkinter Entry 控件的焦点移动话不多说。代码片.# -*- coding: utf8 -*-from tkinter import *########################################--------------tk----------------class App: def __init__(self,master): frame = Frame(master) frame.pack(ex...转载 2020-05-11 09:56:49 · 2369 阅读 · 0 评论 -
python——时间绑定
一个Tkinter主要跑在mainloop进程里。Events可能来自多个地方,比如按键,鼠标,或是系统事件。Tkinter提供了丰富的方法来处理这些事件。对于每一个控件Widget,你都可以为其绑定方法function。widget.bind(event,handler)1如果相应的event发生了,就会调用handler处理事件。举个例子:捕获鼠标点击事件:from Tki...转载 2020-04-28 10:23:57 · 214 阅读 · 0 评论 -
Python 类内直接定义属性与self.属性名的区别
class A: test_value1 = 'value1' self.test_value3 = 'value3' //报错,无法定义 def __int__(self): self.test_value2 = 'value2'if __name__ == '__main__': print(A.test_value2) //报错,无法调...原创 2020-03-22 10:29:15 · 1564 阅读 · 0 评论 -
Python3 实现进度条
本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧。分享给大家供大家参考。具体方法如下:首先,进度条和一般的print区别在哪里呢?答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果。进度条不然,我们必须再原地输出才能保证他是一个进度条,否...转载 2019-12-19 16:44:49 · 1605 阅读 · 1 评论 -
Python——to_csv去除空行
我们使用csv模块写入数据到csv文件中时,无论是使用writerow()方法还是writerows(),csv文件中的每一行数据总是相隔一空行import csvdata = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]with open('data.csv', 'w') as f: writer = csv.writer(f)...转载 2019-12-19 16:24:40 · 6168 阅读 · 1 评论 -
python——selenium
一、Selenium+Python环境搭建及配置1.1 selenium 介绍selenium 是一个 web 的自动化测试工具,不少学习功能自动化的同学开始首选 selenium ,因为它相比 QTP 有诸多有点:免费,也不用再为破解 QTP 而大伤脑筋 小巧,对于不同的语言它只是一个包而已,而 QTP 需要下载安装1个多 G 的程序。 这也是最重要的一点,不管你以前更熟悉 C、...转载 2019-12-16 17:18:31 · 157 阅读 · 0 评论 -
python——lxml
python3解析库lxml阅读目录1、python库lxml的安装 2、XPath常用规则 (1)读取文本解析节点 (2)读取HTML文件进行解析 (3)获取所有节点 (4)获取子节点 (5)获取父节点 (6)属性匹配 (7)文本获取 (8)属性获取 (9)属性多值匹配 (10)多属性匹配 (11)XPath中的运算符 (12)按序选择 (13)节点轴选择...转载 2019-12-13 17:33:00 · 160 阅读 · 0 评论 -
Python——__call__
概念: Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。示例: 所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__ ,我们把 Person 类变成一个可调用对象: class Person(...转载 2019-11-28 15:08:11 · 152 阅读 · 0 评论 -
Python——hashlib
hashlib模块hashlib是一个提供字符加密功能的模块,包含MD5和SHA的加密算法,具体支持md5,sha1, sha224, sha256, sha384, sha512等算法。 该模块在用户登录认证方面应用广泛,对文本加密也很常见。模块调用很简单,那么就让我们一起来看看。。基本调用:1 import hashlib2 new_md5 = hashlib.md5() #...转载 2019-11-27 13:20:29 · 92 阅读 · 0 评论 -
Python自省(反射)指南
首先通过一个例子来看一下本文中可能用到的对象和相关概念。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #coding: UTF-8 importsys # 模块,sys指向这个模块对象 importinsp...转载 2019-11-22 10:21:32 · 63 阅读 · 0 评论 -
Python——queue
QueueQueue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递基本FIFO队列class Queue.Queue(maxsize=0)FIFO即First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明...转载 2019-11-05 21:28:24 · 375 阅读 · 0 评论 -
numpy中ravel与flatten
在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同.先来看这两个函数的使用: 1 from numpy import * 2 3 a = arange(12).reshape(3,4) 4 print(a) 5 # [[ 0 1 2 3] 6 # [ 4 5 6 7] 7 # [ 8 ...转载 2019-10-29 23:30:21 · 320 阅读 · 0 评论 -
python——np.random
随机抽样(numpy.random)简单的随机数据 rand(d0,d1,...,dn) 随机值 >>> np.random.rand(3,2)array([[ 0.14022471, 0.96360618], #random [ 0.37601032, 0.25528411], #random ...转载 2019-10-13 19:36:41 · 245 阅读 · 0 评论 -
Python——私有变量
一、私有变量的定义在Python中,有以下几种方式来定义变量:xx:公有变量 _xx:单前置下划线,私有化属性或方法,类对象和子类可以访问,from somemodule import *禁止导入 __xx:双前置下划线,私有化属性或方法,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,系统定义名字(不要自己发明这样的名字) xx_:单后置下划线,用于避免与...转载 2019-09-14 18:55:21 · 312 阅读 · 0 评论 -
Python——发送邮件
一、smtplib模块:主要通过SMTP类与邮件系统进行交互。使用方法如下:1.实例化一个SMTP对象: s = smtplib.SMTP(邮件服务地址,端口号) s = smtplib.SMTP_SSL(邮件服务地址,端口号)2.登陆邮件,权限验证: s.login(用户名,密码)3.发送邮件: s.sendmail(发件人邮箱,收件人邮箱,发送内容)...转载 2019-09-20 18:24:18 · 282 阅读 · 0 评论 -
python 时间模块小结(time and datetime)
一:经常使用的时间方法1.得到当前时间使用time模块,首先得到当前的时间戳In [42]: time.time()Out[42]: 1408066927.208922将时间戳转换为时间元组 struct_timeIn [43]: time.localtime(time.time())Out[43]: time.struct_time(tm_year=2014, tm_mon...转载 2019-06-21 14:18:59 · 146 阅读 · 0 评论 -
Python——logging
转载自:https://www.cnblogs.com/yyds/p/6901864.html本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件...转载 2019-03-31 16:45:22 · 84 阅读 · 0 评论 -
python——通过字符串调用函数或变量
1. locals()、globals()locals是python的内置函数,他可以以字典的方式去访问局部和全局变量。python里面用名字空间记录着变量,就像javascript的window一样,他记录着各种全局变量。每个模块,每个函数都有自己的名字空间,记录着变量,常量,类的命名和值。就像JS一样,当python在使用变量时,会按照下面的步骤去搜索:函数或类的局部变量。...转载 2019-09-14 18:50:38 · 3279 阅读 · 0 评论 -
python——实现电脑控制手机
第一种方法,使用python调用adb指令。参考:https://github.com/mzlogin/awesome-adbhttps://www.cnblogs.com/moying-wq/p/10001248.html第二种方法,通过Qpython。参考:http://www.360doc.com/content/19/0403/08/62214076_8260927...原创 2019-09-14 17:16:03 · 8316 阅读 · 0 评论 -
Python中append与extend的用法区别 append整体添加
append整体添加l1 = [1, 2, 3, 4, 5, ]l1.append([6, 7, 8, 9, ])# l1.append(*[6, 7, 8, 9, ]) #会报错print(l1)l1.extend([6, 7, 8, 9])print(l1)只能接受一个参数,如果出现*打散的情况,还是会被识别成多个参数,因为程序执行执行是从左到右,从上倒下执行的,当出现*时...转载 2019-09-06 10:21:38 · 201 阅读 · 0 评论 -
Python——matplotlib
一、基础plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 testplt.ylabel(‘Grade’) : y轴的名称plt.axis([-1, 10, 0, 6]) : x轴起始于-1,终止于10 ,y轴起始于0,终止于6plt.subplot(3,2,4) : 分成3行2列,共6个绘图区域,在第4个区域绘图。排序为...转载 2019-04-01 16:33:38 · 482 阅读 · 0 评论 -
tkFileDialog.py
def askopenfilename(**options): "Ask for a filename to open" return Open(**options).show()def asksaveasfilename(**options): "Ask for a filename to save as" return SaveAs(**options)...原创 2019-04-06 16:06:16 · 128 阅读 · 0 评论 -
Python——argparse
1. argparse介绍是python的一个命令行解析包,非常编写可读性非常好的程序2. 基本用法prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下:#!/usr/bin/env python# encoding: utf-8import argparseparser = argparse.ArgumentParser()pa...转载 2019-03-31 19:20:46 · 94 阅读 · 0 评论 -
Python——re
#正则表达式regex#特殊符号和字符 ---> 元字符 (?:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。 (?=pattern...转载 2019-03-31 17:43:59 · 184 阅读 · 0 评论 -
Python——requests
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pip install requests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型import requestsresponse = r...转载 2019-03-31 17:31:21 · 97 阅读 · 0 评论 -
Python——bs4
概述 bs4 全名 BeautifulSoup,是编写 python 爬虫常用库之一,主要用来解析 html 标签。一、初始化from bs4 import BeautifulSoupsoup = BeautifulSoup("<html>A Html Text</html>", "html.parser") 两个参数:第一个参数是要解析的html...转载 2019-03-31 17:21:40 · 783 阅读 · 0 评论 -
pytho——configparser
ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。注意:在python 3 中ConfigParser模块名已更名为configparserconfigparser函数常用方法:读取配置...转载 2019-03-31 16:20:48 · 101 阅读 · 0 评论