![](https://img-blog.csdnimg.cn/20200408232716450.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python基础学习
文章平均质量分 54
记录和python相关的一些小项目和知识点!!!
耐心的小黑
七月份就上班了,比较忙!
展开
-
python多线程详解(超详细)
一、多线程介绍1、什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行2、为什么要使用多线程?线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。因为线程的划分尺度小转载 2021-05-16 10:27:05 · 15442 阅读 · 5 评论 -
python基础学习十五:面向对象三大特性之多态
一、了解多态多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)。定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果好处:调用灵活,有了多态,更容易编写出通用的代码,做出通用的编程,以适应需求的不断变化!实现步骤:定义父类,并提供公共方法定义子类,并重写父类方法传递子类对象给调用者,可以看到不同子类执行效果不同二、体验多态class Dog(object): def work(self): # ⽗类提供统转载 2020-11-08 20:40:27 · 2237 阅读 · 0 评论 -
python基础学习十四:面向对象三大特性之继承
一、继承的基本概念Python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法,具体如下:# ⽗类Aclass A(object): def __init__(self): self.num = 1 def info_print(self): print(self.num)# ⼦类Bclass B(A): passresult = B()result.info_print() # 1在Python中,所有类默认继承object类,obj转载 2020-11-08 20:17:55 · 2467 阅读 · 0 评论 -
python基础学习十三:面向对象三大特性之封装
封装:将属性和方法书写到类的里面的操作即为封装封装可以为属性和方法添加私有权限一、面向对象实现方法1、定义类语法class 类名(): 代码 ......注意:类名要满⾜标识符命名规则,同时遵循⼤驼峰命名习惯。体验class Washer(): def wash(self): print('我会洗⾐服')2、创建对象语法对象名 = 类名()体验# 创建对象haier1 = Washer()# <__main__.Washer转载 2020-11-08 19:32:56 · 2140 阅读 · 0 评论 -
python基础学习十二:引用、可变与不可变类型详解
一、了解引用在python中,值是靠引用来传递来的。我们可以用 id()来判断两个变量是否为同⼀个值的引用。 我们可以将id值理解为那块内存的地址标识。# 1. int类型a = 1 b = aprint(b) # 1print(id(a)) # 140708464157520print(id(b)) # 140708464157520a = 2print(b) # 1,说明int类型为不可变类型print(id(a)) # 140708464157552,此时得到是的数据2原创 2020-11-08 13:34:10 · 2370 阅读 · 0 评论 -
python基础学习十一:全局变量与局部变量
变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量。局部变量所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效。def testA(): a = 100 print(a)testA() # 100print(a) # 报错:name 'a' is not defined变量a是定义在 testA 函数内部的变量,在函数外部访问则立即报错。全局变量所谓全局变量,指的是在函数体内、外都能生效的变量。思考:如果有⼀个数据,在函数A和函数B中都要使用,该怎原创 2020-11-08 11:45:26 · 2247 阅读 · 0 评论 -
python基础学习十:类属性/实例属性、类方法/静态方法
一、类属性和实例属性1.1 类属性1.1.1 设置和访问类属性类属性就是 类对象所拥有的属性,它被该类的所有实例对象所共有。类属性可以使用类对象或实例对象访问。class Dog(object): tooth = 10 wangcai = Dog()xiaohei = Dog()print(Dog.tooth) # 10print(wangcai.tooth) # 10print(xiaohei.tooth) # 10类属性的优点类的实例 记录的某项数据 始终保持⼀原创 2020-11-03 09:14:48 · 2257 阅读 · 0 评论 -
python基础学习九:异常(try...except...else...finally)语法详解
一、了解异常当检测到⼀个错误时,解释器就⽆法继续执⾏了,反⽽出现了⼀些错误的提示,这就是所谓的"异常"。例如:以 r ⽅式打开⼀个不存在的⽂件。open('test.txt', 'r')二、异常的写法2.1 语法try: 可能发⽣错误的代码except: 如果出现异常执⾏的代码2.2 快速体验需求:尝试以 r 模式打开⽂件,如果⽂件不存在,则以 w ⽅式打开。try: f = open('test.txt', 'r')except: f = open('test.t原创 2020-11-03 08:46:17 · 2640 阅读 · 0 评论 -
python基础学习八:推导式的写法
一、列表推导式作用:用一个表达式创建⼀个有规律的列表或控制一个有规律列表。列表推导式又叫列表生成式。1.1 快速体验需求:创建⼀个0-10的列表。while循环实现# 1. 准备⼀个空列表list1 = []# 2. 书写循环,依次追加数字到空列表list1中 i = 0while i < 10: list1.append(i) i += 1print(list1)for循环实现list1 = []for i in range(10): list1.appen原创 2020-11-02 23:33:14 · 2081 阅读 · 0 评论 -
python基础学习七:字符串操作
一、认识字符串字符串是 Python 中最常⽤的数据类型。我们⼀般使⽤引号来创建字符串。创建字符串很简单,只要为变量分配⼀个值即可。a = 'hello world'b = "abcdefg"print(type(a))print(type(b))注意:控制台显示结果为 <class 'str'>, 即数据类型为str(字符串)。1.1 字符串特征⼀对引号字符串name1 = 'Tom'name2 = "Rose"三引号字符串name3 = ''' Tom '转载 2020-11-02 23:02:43 · 2545 阅读 · 0 评论 -
python基础学习六:转换数据类型
一、转换数据类型的作用问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作?答:转换数据类型即可,即将字符串类型转换成整型。二、转换数据类型的函数函数说明int(x [,base ])将x转换为⼀个整数float(x )将x转换为⼀个浮点数complex(real [,imag ])创建⼀个复数,real为实部,imag为虚部str(x )将对象 x 转换为字符串repr(x )将对象 x 转换为表达式字符串原创 2020-11-02 22:15:38 · 2812 阅读 · 0 评论 -
python基础学习五:自定义批量修改文件夹内的图片名称
最近需要使用很多图片,为了方便统一修改图片的名称,所以简单写了个小脚本,主要目的是实现所需功能,没有做特别的优化。import os'''dir_path:需要批量修改名称的图片所在的文件夹路径prefix:修改之后的图片名称的统一前缀postfix:修改之后的图片名称的统一后缀而除去前缀和后缀,就是代码中的index决定的图片名称中包含的数字,这些数字是递增的假如prefix="pic_",postfix=" ",那么修改后的图片名称将会是pic_1.jpg,pic_2.jpg.....原创 2020-10-20 13:36:15 · 2289 阅读 · 2 评论 -
python基础学习四:合并Excel表格小程序
import xlrdimport xlsxwriterimport os#在原有的基础上,对程序进行完善:因为大多数合并的表格,他们的格式都是一样的,就拿我自己来说,#把很多同学填写的信息进行合并,他们使用的表格的格式都是一样的,所以就会有很多重复的表头#当然,这个可以自己去掉,但是就有点浪费时间了,去掉重复的表头我感觉是最基本的功能Excel_path="F:/python/Excel文件夹"source_excel_name_list=os.listdir(Excel_path)t原创 2020-10-05 08:48:41 · 2039 阅读 · 2 评论 -
python基础学习三:批量修改图片名称的小程序
因为最近经常要处理图片数据,而下载的图片的名称一般都太长或者不规范;为了方便实用每一张图片的path,并且本人又有强迫症,所以就随便写个批量修改图片名称的程序下面是对该程序使用方法的介绍输入参数dir_path:保存有图片的文件夹路径prefix:图片名称的前缀postfix:图片名称的后缀修改结果prefix_index_postfix.jpg,这里的index指的是你的图片在...原创 2020-02-15 22:27:18 · 1258 阅读 · 0 评论 -
python基础学习二:numpy.where的用法详解
要想弄清楚np.where怎么使用,需要对矩阵中每个元素的位置表示方式有所了解,下面介绍一下它的两个主要用法np.where(condition, x, y);满足条件(condition),输出x,不满足输出y。>>> aa = np.arange(10)>>> np.where(aa,1,-1)array([-1, 1, 1, 1, 1,...转载 2020-02-22 15:13:11 · 2047 阅读 · 0 评论 -
python基础学习一:numpy.transpose和numpy.swapaxes的使用与区别
在图像处理中,有时候需要维度转换,比如将图像的通道维移到第一维,下面来介绍一下在numpy中如何对矩阵维度进行转换1.使用numpy.transpose(a, axes=None)>>>a=np.arange(0,12).reshape(3,2,2)>>>print(a,a.shape)[[[ 0 1] [ 2 3]] [[ 4 5] ...原创 2020-02-22 15:53:49 · 1120 阅读 · 0 评论