python基础知识
loveysuxin
这个作者很懒,什么都没留下…
展开
-
python 循环引用的解决方法
python 循环引用的解决方法原创 2022-11-25 16:52:22 · 4088 阅读 · 1 评论 -
python 中__init__ 作用
python 中__init__ 作用原创 2022-11-24 17:23:41 · 4322 阅读 · 0 评论 -
python 可变数据类型和不可变数据类型
python 可变数据类型和不可变数据类型原创 2022-11-22 17:39:29 · 10512 阅读 · 1 评论 -
python 数据结构
python 数据结构基本用法原创 2022-11-22 16:38:53 · 112 阅读 · 0 评论 -
python relativedelta函数及与timedelta区别
python relativedelta 与timedelta区别原创 2022-09-14 10:56:08 · 4455 阅读 · 0 评论 -
python datetime.timedelta()函数介绍
python timedelta 函数介绍原创 2022-09-09 17:15:48 · 36205 阅读 · 0 评论 -
python Calendar日历模块函数介绍
python calendar日历模块常用函数原创 2022-09-09 15:22:36 · 3746 阅读 · 0 评论 -
python time 模块函数
python time模块函数介绍原创 2022-09-09 13:50:29 · 2497 阅读 · 0 评论 -
python 内置函数--enumerate() 函数
python 内置enumerate() 函数原创 2022-07-05 11:23:24 · 558 阅读 · 0 评论 -
手把手教python发送邮件
使用python内置模块–smtplib和email进行邮件发送。其中smtplib模块负责发送邮件,而email模块负责构造邮件内容。一、基本用法介绍:1、smtplib模块:'''1、引入smtplib模块'''import smtplib'''2、创建 SMTP 对象SMTP 协议是由源服务器到目的地服务器传送邮件的一组规则。(可简单理解为:我们需要通过SMTP指定一个服务器,这样才能把邮件送到另一个服务器)'''smtpObj = smtplib.SMTP()'''3、连接(con原创 2022-04-19 15:47:31 · 24118 阅读 · 12 评论 -
python 3.9 Building wheel for opencv-contrib-python (PEP 517)
问题:python3.9安装airetest 一直卡在:Building wheel for opencv-contrib-python (PEP 517)。。。解决办法:降低opencv-contrib-python版本先安装opencv-contrib-python:pip install opencv-contrib-python==3.4.11.45安装成功,在执行安装airtest:pip install airtest -i https://mirrors.aliyu原创 2022-04-18 16:30:03 · 6728 阅读 · 4 评论 -
Python eval()函数
1、简介eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict、int。eval函数的语法: eval(expression[,globals[,locals]])参数: expression:表达式。 globals:变量作用域,全局命名空间,如果被提供,必须是一个字典对象。 locals:变量作用域,局部命名空间,如果被提供,可以说任何映射对象。2、详解注意:1)当后两个参数都为空时,很好理解,就是一个s原创 2022-01-25 10:49:13 · 897 阅读 · 0 评论 -
Python 正则表达式函数
分别介绍Python 正则表达式中的几个函数:re.match、re.search、re.sub、re.compile、re.findall、re.finditer、re.splitimport re'''正则表达式''''''1、re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none 语法:re.match(pattern, string, flags=0) pattern原创 2022-01-20 15:24:06 · 844 阅读 · 0 评论 -
Python使用Sqlalchemy连接数据库
一、简介SQLAlchemy是用Python编程语言开发的一个开源项目。它提供了SQL工具包和ORM(对象关系映射)工具,使用MIT许可证发行。SQLAlchemy最初在2006年2月发行,发行后便很快的成为Python社区中最广泛使用的ORM工具之一,丝毫不亚于Django自带的ORM框架。SQLAlchemy采用简单的Python语言,提供高效和高性能的数据库访问,实现了完整的企业级持久模型。它的理念是,SQL数据库的量级和性能比对象集合重要,而对象集合的抽象又重要于表和行。二、安装s.原创 2021-12-15 09:53:09 · 7132 阅读 · 0 评论 -
Python 使用PyMySql 连接数据库
'''注意:PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。使用pymysql连接数据库安装命令: pip install pymysql'''import pymysqlpymysql.install_as_MySQLdb()# 打开数据库连接db = pymysql.connect(host="@@@@", user="root", ...原创 2021-12-10 14:14:28 · 2184 阅读 · 0 评论 -
python xlrd模块读取Excel内容
xlrd模块实现对excel文件内容读取。test.xlsx文件内容如下:下面是使用xlrd的基本使用方法import xlrd'''xlrd模块实现对excel文件内容读取'''# 1、打开Excel文件workbook = xlrd.open_workbook('test.xlsx')print(workbook.sheet_names()) # 获取所有sheet页名称 ['基本信息', '附加信息']# 2、获取读入的文件的sheet页sheet1 ..原创 2021-10-14 20:37:06 · 875 阅读 · 0 评论 -
python --- 装饰器
1、首先理解:一切皆对象def hi(name="yasoob"): return "hi " + nameprint(hi()) # 输出: hi yasoob'''可以将一个函数赋值给一个变量,比如'''greet = hi'''这里没有在hi后面添加小括号,因为并不是在调用hi函数,而是在将它放在greet变量里头。'''# 运行下如下代码print(greet()) # 输出: hi yasoob2、在函数中定义函数def hi(name='pyt翻译 2021-09-26 16:13:40 · 145 阅读 · 0 评论 -
python 互斥锁
问题:多线程共享全局变量出现的问题。开两个子线程,全局变量是0,我们每个线程对他自加1,每个线程加一百万次,这时候就会出现问题了。每个线程都自加一百万次,照理来说,应该最后的结果是200万,但实际结果并非如此。import threading,timenum = 0def work1(loop): global num for i in range(loop): temp = num num = temp + 1 p...原创 2021-08-31 17:55:51 · 270 阅读 · 0 评论 -
Python 关键字 global
局部变量就是定义在一个函数体内部的变量 全局变量是定义在外面的变量比如:a = 1def f(): b = 2 其中a就是全局变量,而b是局部变量。局部变量只在函数体内部有效,出了函数体,外面是访问不到的,而全局变量则对下面的代码都有效。在函数体内部使用全局变量全局变量可以直接在函数体内容部使用的,你可以直接访问,但是注意的是,如果对于不可变类型的数据,如果在函数里面进行了赋值操作,则对外面的全局变量不产生影响,因为相当于新建了一个局部变量,只是名字...原创 2021-08-31 17:31:27 · 109 阅读 · 0 评论 -
python 多线程实现方式
方式1:采用函数的方式# 创建一个线程t = threading.Thread(target=函数名不带括号,args=函数入参,元组形式)t.start() # 启动线程t.join() # 等待线程结束通过threading.enumerate()可枚举当前运行的所有线程import threading,time# 方式1: 函数式def listen_music(name): while True: time.sleep(1)原创 2021-08-31 16:57:30 · 150 阅读 · 0 评论 -
26、python--学会定位查看出错位置
1、调用栈如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。def foo(s): return 10 / int(s)def bar(s): return foo(s) * 2def main(): bar('0')main()输出结果:Traceback (most recent call last...原创 2019-12-05 17:28:13 · 4031 阅读 · 0 评论 -
25、python--try...except...finally
try…except…finally认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。try: print('try...') r = 10 / int('a') print('res...原创 2019-12-05 17:26:48 · 161 阅读 · 0 评论 -
24、python--实例属性和类属性
给实例绑定属性的方法是通过实例变量,或者通过self变量:class Student(object): def __init__(self, name): self.name = names = Student('Bob')s.score = 90类属性是直接在class中定义的属性,这种属性是类属性,归Student类所有,但类的所有实例都可以访问到。cla...原创 2019-12-04 15:45:18 · 101 阅读 · 0 评论 -
23、python面向对象编程--type()、isinstance()、dir()获取对象类型
1、type()基本类型都可以用type()判断;一个变量指向函数或者类,也可以用type()判断;class Animal(): passa = Animal()'''基本类型都可以用`type()`判断'''print('123的类型:', type(123))print('"str"的类型:', type('str'))print('123.67的类型:', ty...原创 2019-12-04 15:43:39 · 175 阅读 · 0 评论 -
22、python面向对象编程--继承和多态
通过继承子类获得了父类的全部功能。class Animal(): def run(self): print('Animal is running...')'''Cat 继承 Animal类'''class Cat(Animal): passc = Cat()'''Cat继承了Animal的run方法'''c.run()输出结果:Animal i...原创 2019-12-04 10:59:14 · 118 阅读 · 0 评论 -
21、python面向对象编程---访问权限(私有变量)
在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问;变量名以__开头后,外部代码就无法从外部通过 实例变量.__name 和 实例变量.__score 访问到变量。class Student(): def __init__(self,name,score): '''让内部属性不被外部访问,可以把属性的名...原创 2019-12-03 18:35:39 · 315 阅读 · 0 评论 -
20、python面向对象编程---类和实例(__init__、类的方法)
Python中,定义类是通过class关键字,class后面紧接着是类名;可以自由地给一个实例变量绑定属性;#Python中,定义类是通过class关键字,class后面紧接着是类名、()class Student(object): pass#变量b指向的就是一个Student的实例b = Student()print('b:',b)#可以自由地给一个实例变量绑定属性,比如...原创 2019-12-03 17:35:36 · 266 阅读 · 0 评论 -
19、python写文件--write
同上一篇18中介绍的读文件类似,只需要将标识符改为 ‘w’with open('/Users/michael/test.txt', 'w') as f: f.write('Hello, world!')以'w'模式写入文件时,如果文件已存在,会直接覆盖(相当于删掉后新写入一个文件)。可以传入'a'以追加(append)模式写入。with open('/Users/michael/...原创 2019-12-03 15:55:22 · 277 阅读 · 0 评论 -
18、python读文件--read()、read(size)、readline()、readlines()
读文件:#使用Python内置的open()函数,传入文件名和标示符#标示符'r'表示读,这样,就成功地打开了一个文件。f = open('D:/PycharmProjects/pachong/file/file1.txt', 'r')#调用read()方法可以一次读取文件的全部内容# Python把内容读到内存,用一个str对象表示strAll = f.read()print(s...原创 2019-11-22 11:23:33 · 3025 阅读 · 0 评论 -
17、python--匿名函数(lambda)
匿名函数(lambda)lambda匿名函数的格式: lambda argument_list : expersion冒号前argument_list是参数,可以有多个,用逗号隔开,冒号右边的expersion为表达式。lambda返回值是一个函数的地址,也就是函数对象。匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量。以map()函数为例,计算f(x)=x2时,除了...原创 2019-11-21 17:47:42 · 183 阅读 · 0 评论 -
16、Python内置函数--sorted及itemgetter
3、sortedPython内置的sorted()函数就可以对list进行排序。sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:>>> sorted([36, 5, -12, 9, -21], key=abs)[5, 9, -12, -21, 36]key指定的函数将作用于list的每一个元素上,并根据key函...原创 2019-11-21 17:45:41 · 489 阅读 · 0 评论 -
15、Python内建的函数--filter()
filterPython内建的filter()函数用于过滤序列。filter()也接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。例1、在一个list中,删掉奇数,只保留偶数def is_odd(n): if n%2 ==0: return nL = list(range(1,1...原创 2019-11-21 17:44:04 · 150 阅读 · 0 评论 -
14、map/reduce
map/reducePython内建了map()和reduce()函数.map()map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。例:有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现def f(x):...原创 2019-11-19 20:28:44 · 115 阅读 · 0 评论 -
13、python高级特性--迭代器(Iterator)
迭代器(Iterator)可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些**可以直接作用于for循环的对象统称为可迭代对象****:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象。...原创 2019-11-19 17:58:14 · 163 阅读 · 0 评论 -
12、python高级特性--生成器
生成器要创建一个generator:第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator;第二种方法,只需要把print(b)改为yield b就可以**难点理解:**generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而generator函数,在每次调用next()的时候执行,遇到yield...原创 2019-11-19 17:38:35 · 108 阅读 · 0 评论 -
11、python高级特性--列表生成式
列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。# 生成[1,2,3...10]L = list(range(1, 11))print(L)# 写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来# 生成[1x1, 2x2, 3x3, ..., 10x10]L =...原创 2019-11-19 16:12:13 · 145 阅读 · 0 评论 -
10、python高级特性--迭代
迭代给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration)。Python中,迭代是通过for ... in来完成的。print('----------list迭代---------------')L = [1, 2, 3]for l in L: print(l)#dict迭代#因为dict的存储不是按照list...原创 2019-11-19 16:10:46 · 99 阅读 · 0 评论 -
9、python高级特性(1)---切片
1、切片L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']print('L: ',L)# L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。# 即索引0,1,2,正好是3个元素。print('L[0:3]= ',L[0:3])print('L[:3]= ',L[:3]) #如果第一个索引是0,还可以省略print('L...原创 2019-11-18 20:34:25 · 105 阅读 · 0 评论 -
8、函数--函数的参数
1、默认参数把第二个参数n的默认值设定为2,n就是默认参数:def power(x, n=2): s = 1 while (n > 0): s = s * x n = n - 1 return sprint(power(3, 3))print(power(5)) #默认n = 2输出结果:2725设置默认参数时...原创 2019-11-18 19:51:43 · 280 阅读 · 0 评论 -
7、函数--调用及定义函数
本文通过学习https://www.liaoxuefeng.com/wiki/1016959663602400整理笔记如下:1、调用函数数据类型转换Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:>>> int('123')123>>> int(12.34)12>>> float...原创 2019-11-18 15:49:20 · 228 阅读 · 0 评论