Python从入门到放弃
文章平均质量分 58
万wu皆可爱
代码改变世界,人丑就要多读书,多运动!
展开
-
Python并发编程之多进程
文章目录一 、什么是进程二 、进程与程序的区别三、进程的调度四 、并发与并行四 、程序运行状态五、同步(synchronization)/异步(asynchronization)阻塞/非阻塞(重点)五 进程的创建(了解)六、 进程的终止(了解)七、 进程的层次结构八、 进程的状态一 、什么是进程进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。举例(单核+多道,实现多个进程的并发执行):孙悟空在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上原创 2021-05-06 16:35:42 · 216 阅读 · 0 评论 -
并发编程背景
一、 引言顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统二 、为什么要有操作系统现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。一般而言,现代计算机系统是一个复杂的系统。其一:如果每位应用程序员都必须掌握该系统所有的细节原创 2021-05-06 15:15:51 · 146 阅读 · 0 评论 -
Python保留小数的方法
方法一、使用字符串格式化保留n位小数,并做四舍五入处理s= 12.3445print('%.2f'%s)# 12.34s= 12.345print('%.2f'%s)# 12.35方法二、使用round内置函数(会四舍五入)s= 12.345a = round(s,2)print(a)#12.35s= 12.3445a = round(s,2)print(a)# 12.34方法三、 使用decimal模块(四舍五入)from decimal import Dec原创 2021-05-19 18:05:26 · 8466 阅读 · 0 评论 -
Python拷贝文件夹及文件
方式一缺点,拷贝后的目录和拷贝前的目录层次结构一模一样,不够灵活"""需求:给定需要拷贝的源文件路径和 目标存放路径,做到对文件和文件夹的拷贝"""import osdef copy_file(source, destination): with open(source, mode='rb') as r_file, open(destination, mode='wb') as w_file: for f in r_file: w_fi原创 2021-05-19 17:44:44 · 1171 阅读 · 0 评论 -
Python os.work()函数
假如有下述文件组织结构储备知识:a = [1, 2, 3]b = [4, 5, 6]c = [7, 8, 9]print(list(zip(a,b,c)))结果:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]for h, i, j in zip(a, b, c): print("h=", h, "i=", i, "j=", j)结果:h= 1 i= 4 j= 7h= 2 i= 5 j= 8h= 3 i= 6 j= 9示例代码1:import原创 2021-05-18 22:23:06 · 3847 阅读 · 3 评论 -
Python统计文件夹大小
用到知识,os模块,递归调用根据文件夹路径计算文件夹大小,路径也可以是文件import ossize = 0def get_dir_size(path): """ 递归调用,统计文件大小 :param path: 文件夹路径 :return: 文件字节 """ global size # 列表显示出文件夹下的所有子文件及子文件夹 dir_list = os.listdir(path) for file in dir_lis原创 2021-05-18 17:06:39 · 1113 阅读 · 0 评论 -
Python异常处理机制
一 、什么是异常异常是程序发生错误的信号。程序一旦出现错误,便会产生一个异常,若程序中没有处理它,就会抛出该异常,程序的运行也随之终止。在Python中,错误触发的异常如下而错误分成两种,一种是语法上的错误SyntaxError,这种错误应该在程序运行前就修改正确>>> if File "<stdin>", line 1 if ^SyntaxError: invalid syntax另一类就是逻辑错误,常见的逻辑错误如# TypeErr原创 2021-04-29 11:35:09 · 490 阅读 · 2 评论 -
pip更换国内镜像源
@TOC由于Python pip 默认源为国外,因此pip install 的时候蜗牛速度。可以将其更改为国内镜像源。常见的国内优质镜像源阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/原创 2021-04-26 11:09:16 · 213 阅读 · 0 评论 -
一文读懂字符编码从此解决乱码问题
一、 引入 字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。 字符编码这个知识点的典型特征就是理论多、结论少,但对于开发而言只需要记住结论即可。二 知识储备2.1 三大核心硬件所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘,我们需要明确三点软件运行前,软件的代码及其相关数据都是存放于硬盘中的任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行软件运行过程中产生的数据最先都是存放原创 2020-11-22 17:14:53 · 572 阅读 · 1 评论 -
函数式编程之filter, map ,reduce和匿名函数lambda
三 、函数式函数式编程并非用函数编程这么简单,而是将计算机的运算视为数学意义上的运算,比起面向过程,函数式更加注重的是执行结果而非执行的过程,代表语言有:Haskell、Erlang。而python并不是一门函数式编程语言,但是仍为我们提供了很多函数式编程好的特性,如lambda,map,reduce,filter3.1 匿名函数与lambda 对比使用def关键字创建的是有名字的函数,使用lambda关键字创建则是没有名字的函数,即匿名函数,语法如下lambda 参数1,参数2,…: expre原创 2020-12-15 12:26:54 · 329 阅读 · 0 评论 -
面向过程编程哲学
一 、编程范式 很多初学者在了解了一门编程语言的基本语法和使用之后,面对一个’开发需求‘时仍然会觉得无从下手、没有思路/套路,本节主题“编程范式”正是为了解决该问题,那到底什么是编程范式呢?编程范式指的就是编程的套路,打个比方,如果把编程的过程比喻为练习武功,那编程范式指的就是武林中的各种流派,而在编程的世界里常见的流派有:面向过程、函数式、面向对象等,本节我们主要介绍前两者。 在正式介绍前,我们需要强调:“功夫的流派没有高低之分,只有习武的人才有高低之分“,在编程世界里更是这样,各种编程范式在不原创 2020-12-14 22:24:33 · 250 阅读 · 0 评论 -
函数的递归调用(阶乘函数)
一、 函数递归调用介绍函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身例如在调用f1的过程中,又调用f1,这就是直接调用函数f1本身def f1(): print('from f1') f1()f1()在调用f1的过程中,又调用f2,而在调用f2的过程中又调用f1,这就是间接调用函数f1本身def f1(): print('from f1') f原创 2020-12-08 21:08:02 · 2555 阅读 · 0 评论 -
Python生成器详解(自定义的迭代器)
文章目录一 、生成器与yield二、 yield表达式应用三、 三元表达式、列表生成式、生成器表达式3.1 三元表达式3.2 列表生成式3.3 字典生成式3.4 集合生成式3.5 生成器表达式3.6 总结一 、生成器与yield如之前所述,我们得到一个迭代器通常都是调用可迭代对象的__iter__方法 ,例如 list.iter() 得到一个迭代器,但是当list很大时候,就违背了python的初衷,假设我们要创造一个包含1000w个值的可迭代对象,总不可能先把这1000w个值放入列表,然后调用__i原创 2020-12-06 21:08:11 · 343 阅读 · 0 评论 -
Python迭代器和可迭代对象详解
文章目录一 、迭代器和可迭代对象1.1 可迭代对象1.2 迭代器对象1.3判断对象是否是可迭代对象或迭代器1.4 可迭代对象与迭代器对象总结二、 for循环原理三 迭代器的优缺点3.1 优点:3.2 缺点:一 、迭代器和可迭代对象迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代while True: msg = input('>>:原创 2020-11-28 15:46:16 · 353 阅读 · 0 评论 -
Python装饰器用途(详解)
一 、装饰器介绍1.1 为何要用装饰器软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,意味着对象一旦设计完成,就可以独立完成其工作,而不要对其源代码进行修改。软件包含的所有功能的源代码以及调用方式,都应该避免修改,否则一旦改错,则极有可能产生连锁反应,最终导致程序崩溃,而对于上线后的软件,新需求或者变化又层出不穷,我们必须为程序提供扩展的可能性,这就用到了装饰器。1.2 什么是装饰器’装饰原创 2020-11-27 21:49:38 · 2832 阅读 · 0 评论 -
函数对象与闭包函数
目录一 . 函数对象和闭包1.1 函数可以被引用1.2 函数可以作为容器类型的元素1.3 函数名可以作为参数传入另外一个函数1.4 函数的返回值可以是一个函数二 闭包函数2.1 闭与包2.2 闭包的用途一 . 函数对象和闭包函数对象指的是函数可以被当做’数据’来处理,具体可以分为四个方面的使用,我们如下1.1 函数可以被引用>>> def add(x,y):... return x+y... >>> func=add>>> fun原创 2020-11-26 21:13:09 · 116 阅读 · 0 评论 -
命名空间(namespaces)与作用域(global、nonlocal)
一、命名空间命名空间即存放名字与对象映射/绑定关系的地方,对栈区的划分。对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于命名空间中,del x表示清除该绑定关系。 在程序执行期间最多会存在三种命名空间(相当于把栈区划分了三部分),有了名称空间后,就可以在栈区存放相同的名字了。1.1 内建命名空间存活周期:伴随python解释器启动/关闭而产生/回收,因而是第一个被加载的命名空间,用来存放一些内置的名字,比如内建函数名>>> max<bu原创 2020-11-26 14:53:19 · 722 阅读 · 1 评论 -
Python函数及参数详解
引言随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差,且程序中需要频繁使用同一功能时,只能重复编写该功能的实现代码,日积月累,程序将变得冗长,并且当某一功能需要修改时,又不得不找出所有定义及使用这段功能的地方修改之,管理维护的难度极大。到底该如何解决提出的这些问题呢?我们完全可以从现实生活中找到简化程序设计的方案:比如一个修理工会事先准备好螺丝刀、锤子等工具,这样在进行修理的过程中,需要用到拧螺丝的功能时就直接拿来螺丝刀使用,需要原创 2020-11-25 12:54:00 · 557 阅读 · 4 评论 -
Python文件的操作详解
1. 什么是文件应用程序运行过程中产生的数据最先都是存放于内存中的,若想永久保存下来,必须要保存于硬盘中。应用程序若想操作硬件必须通过操作系统,而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念,用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬盘的具体操作。文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口用户/应用程序(open())操作系统(文件)计算机硬件(硬盘)2. 为何要用文件用户/应用程序可以通过文件将数据永久保存的硬盘中 即操作文件就原创 2020-11-24 20:30:32 · 277 阅读 · 4 评论 -
Python基本数据类型和对应的内置方法详解
文章目录一、 引言二 、数字类型int与float2.1 整型int的定义2.2 浮点型float的定义2.3类型转换2.4 进制转换2.5 float同样可以用来做数据类型的转换2.6 复数(了解)2.7 数字类型的使用使用三、 字符串3.1 定义:3.2 类型转换3.3 str的使用3.3.1 按索引取值(正向取,反向取):3.3.2 切片(顾头不顾尾,步长)3.3.3 长度len3.3.4 成员运算 in 和 not in3.3.5.strip移除字符串首尾指定的字符(默认移除首位空白字符)3.3.6原创 2020-11-19 22:16:51 · 789 阅读 · 3 评论 -
Python浅拷贝与深拷贝的区别
一、浅拷贝浅copy:是把原列表第一层的内存地址不加区分完全copy一份给新列表list1=[ '狄仁杰', 18, [1,2]]注意 list2 =list1 这不叫拷贝,只能说list2与list1 指向了相同的内存地址```go>>> list1=["狄仁杰",18,[1,2]]>>> list2=list1.copy() # 浅拷贝>>> print(id(list1))1845462466816&原创 2020-11-16 21:43:16 · 4663 阅读 · 2 评论 -
Python格式化字符串的几种方式详解
一:%s%号格式化字符串的方式从Python诞生之初就已经存在,时至今日,python官方也并未弃用%号,但也并不推荐这种格式化方式。1、格式的字符串(即%s)与被格式化的字符串(即传入的值)必须按照位置一一对应ps:当需格式化的字符串过多时,位置极容易搞混print("my name is %s, I'm %s years old." % ('diaochan',18))# my name is diaochan, I'm 18 years old.print("my name is %s,原创 2020-11-14 21:45:20 · 806 阅读 · 0 评论 -
一口气读懂python中的垃圾回收机制(GC机制)
目录一、 引言二、什么是垃圾回收机制?三、为什么要用垃圾回收机制?四、理解GC原理需要储备的知识1. 堆区与栈区2. 直接引用与间接引用五、垃圾回收机制原理分析一、 引言解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那什么样的变量值是没有用的呢?单从逻辑层面分析,我们定义变量将变量值存起来的目的是为了以后取出来使用,而取得变量值需要通过其绑定的直接引用(如x=原创 2020-11-13 18:58:24 · 1193 阅读 · 2 评论 -
python中的基本数据类型与基本运算符
目录引言一、变量二、常量三、Python中的基本数据类型1. int整型2. float浮点型3. 字符串类型str4. 列表list5. 字典dict6. 布尔bool引言我们学习python语言是为了控制计算机、让计算机能够像人一样去工作,所以在python这门语言中,所有语法存在的意义都是为了让计算机具备人的某一项技能,这句话是我们理解后续所有python语法的根本。一、变量什么是变量?变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别、体重,游戏角色的等级、金钱等等为原创 2020-11-12 12:38:18 · 580 阅读 · 2 评论 -
编程语言分类与python简介
编程语言分类:一、机器语言机器语言是站在计算机(奴隶)的角度,说计算机能听懂/理解的语言,而计算机能直接理解的就是二进制指令,所以机器语言就是直接用二进制编程,这意味着机器语言是直接操作硬件的,因此机器语言属于低级语言,此处的低级指的是底层、贴近计算机硬件(贴近代指需要详细了解计算机硬件细节、直接控制硬件),详解如下:用二进制代码0和1描述的指令称为机器指令,由于计算机内部是基于二进制指令工作的,所以机器语言是直接控制计算机硬件。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码以及代码原创 2020-11-11 14:09:45 · 978 阅读 · 0 评论 -
计算机组成原理详解
计算机组成原理1. 什么是计算机?俗称电脑,即通电的大脑,电脑二字蕴含了人类对计算机的终极期望,希望它能真的像人脑一样去工作,从而解放人力。2. 为什么要用计算机?世界是由聪明的懒人统治的,任何时期,总有一群聪明的懒人想要奴隶别人。在奴隶制社会,聪明的懒人奴役的是真正的人,而人是无法不吃、不喝、不睡觉一直工作的,但是计算机作为一台机器是可以做到的,所以把计算机当奴隶是上上之选。3. 计算机的五大组成部分计算机有五大组成部分,既然计算机是人的奴隶,那么计算机设计核心肯定也是在模仿真正的人,所以我原创 2020-11-06 15:37:28 · 39076 阅读 · 8 评论