
python编程高手之路
然后就去远行吧
我们的目标是星辰大海~
展开
-
Python ——模块
目录一、偏函数二、随机数2.1 random()2.2 uniform(x,y)2.3 randint(x,y)2.4 random.randrange(start,end,step)2.5 choice(sequence)2.6 shuffle(x)2.7 sample(sequence,k)三、MapReduce处理3.1 filter(function,sequence)3.2 map(function.sequence)3.3 reduce(function,sequence)一、偏函数在函数执原创 2020-07-16 02:27:51 · 167 阅读 · 0 评论 -
Python —— 深拷贝和浅拷贝
1、浅拷贝浅拷贝就是对一个对象父级(外层)的拷贝,并不会拷贝子级(内部)。简单举个例子:import copya = [1, 2, 3]b = [3, 4, 5]c = [a, b]d = copy.copy(c)上面代码中,c是对象父级,a和b是对象子级。当使用浅拷贝copy.copy()时,只会对c进行拷贝,不会对a和b进行拷贝。具体可以进行验证:import copya = [1, 2, 3]b = [3, 4, 5]c = [a, b]d = copy.copy(c)原创 2020-05-11 18:39:58 · 553 阅读 · 0 评论 -
Python装饰器
装饰器说明器指的工具(只要是工具,就应该想到函数),装饰指的是为被装饰对象添加新功能,需要注意的是:项目一旦上线之后,就应该遵循开发封闭的原则。开发封闭指的是对修改函数内的源代码和调用方式是封闭的,对功能的扩展是开放的。看起来有点矛盾,在这样的要求下,必须找到一种解决方案,能够在不修改一个函数源代码以及调用方式的前提下,为其添加新功能,这就用到了装饰器,它能够在不修改被装饰对象源代码与调用方式...原创 2020-05-06 18:02:44 · 288 阅读 · 0 评论 -
Python垃圾回收机制
先记着一句话引用计数器为主,标记清除和分代回收为辅+缓存机制1、引用计数器1.1环状双向链表(refchain)要说引用计数,先说一些Python中使用到的双向环状链表refchain。上图是一个双向链表,所谓双向,意思是在中间的某一个节点,可以找到其下一个节点和上一个节点。在Python中创建的任何一个对象都会加到双向链表中。例如在Python创建以下三个对象:name = 'J...原创 2020-04-30 04:38:29 · 761 阅读 · 0 评论 -
Python随笔
目录1、元组与列表的区别参考资料1、元组与列表的区别元组和列表都是Python的序列,而且都可以按照特定顺序存放一组元素,类型不收限制,只要是Python支持的类型都可以,它们之间有以下区别:列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其元素不可以修改,除非整体替换;列表可以使用append()、extend()、insert()、remove()和pop()等方...原创 2020-04-21 22:23:27 · 771 阅读 · 0 评论 -
python collections 模块中的 deque
collections.deque介绍collections 是 python 内建的一个集合模块,里面封装了许多集合类,其中队列相关的集合只有一个:deque。deque 是双边队列(double-ended queue),具有队列和栈的性质,在 list 的基础上增加了移动、旋转和增删等。常用方法d = collections.deque()d.append(‘a’) # 在最右边...转载 2020-03-30 14:21:11 · 1404 阅读 · 0 评论 -
(转载)Python函数参数传递机制(超级详细)
Python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的。根据实际参数的类型不同,函数参数的传递方式分为值传递和引用传递(又称为地址传递),本节将对这两种传递机制做深度剖析。Python函数参数的值传递机制所谓值传递,实际上就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。值传递的方式,类似于《西游记》里的孙悟空,它复制一个假孙悟空,假孙悟空具有的能力和...转载 2020-03-22 23:23:03 · 643 阅读 · 0 评论 -
Python中sort()和sorted()的区别
Python中提供了两种常用的对列表进行排序的方法:使用列表对象的sort()方法;使用内置的sorted()函数;1、使用列表对象的sort()方法列表对象提供了sort()方法对于原列表中的元素进行排序。排序后原列表中的元素顺序将发生改变。列表对象的sort()方法的语法格式如下:listname.sort(key=None,reverse=False)参数说明:list...原创 2020-03-13 11:45:23 · 911 阅读 · 0 评论 -
Python —— 字符串常用操作
1、计算字符串的长度由于不同字符串所占用字节数不同,所以要计算字符串的长度,需要先了解各字符串所占的字节数。在Python中,数字、英文、小数点、下划线和空格占一个字节:一个汉字可能会占用2-4字节,占几个字节取决于采用的编码。汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode编码中一般占用3个字节(或4个字节)。在Python中,提供了len()函数计算字符串的长度,语...原创 2020-03-12 20:25:42 · 725 阅读 · 0 评论 -
Python基本数据类型
1、数字类型1.1 整数整数包括十进制数、八进制数、十六进制数和二进制数;十进制整数:十进制整数的表现形式都很熟悉;八进制整数:由0-7组成,进位规则为“逢八进一”,并且以0o/0O开头的数,如0O123(换成十进制数为83);十六进制整数:由0-9,A-F组成,进位规则为“逢十六进一”,并且以0x/0X开头的数,如0x25(转换成十进制数为37);二进制整数:由0和1两个数组成,进...原创 2020-03-11 00:39:43 · 485 阅读 · 0 评论 -
Python中的各种下划线变量和方法的作用
1、单下划线 _最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用。为了方便理解,“_”可以看作被丢弃的变量名称,这样做可以让阅读你代码的人知道,这是个不会被使用的变量。a = ['a', 'b', 'c']for _, i in enumerate(a): print(i)# 输出a b c2、单下划线前缀名称(例如_pythonPoint)...转载 2020-03-10 20:01:37 · 917 阅读 · 0 评论 -
python中+和join()的区别
应该避免在循环中使用“+”和“+=”运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐将每个子字符串加入列表,然后在循环结束后使用join()方法连接列表。因为字符串是不可变类型,如果要进行字符串的拼接,只能申请新的内存保存新拼接的字符串。这样每进行一次拼接就需要申请一次内存并存储结果,这会使得程序效率低。join只会进行一次内存申请,因此运行效率相对于+会快很多。...原创 2020-03-10 19:46:05 · 2658 阅读 · 0 评论 -
Python中的中文编码声明注释
在Python中提供一种特殊的中文编码声明注释,该注释的出现主要是为了解决Python 2.x中不支持直接写中文的问题。虽然在Python 3.x中,该问题已经不存在了。但是为了规范页面的编码,同时方便其他程序员及时了解文件所用的编码,建议在文件开始加上中文编码声明注释。语法格式如下:# -*- coding: 编码 -*- 或者# coding=编码在上面的语法中,编码为文件...原创 2020-03-10 16:22:26 · 6266 阅读 · 1 评论 -
python中is和==的区别
定义变量会有:id(唯一标识号,也可以认为是内存地址),type(变量类型),value(变量值)。等号比较的是value,如果value一样,type也一样;is比较的是id,也就是比较内存地址;强调id相同,意味着type和value必定相同;value相同type肯定相同,但id可能不同;通过代码进行验证:a = [1, 2, 3]b = [1, 2, 3]c = ...原创 2020-03-10 00:46:27 · 286 阅读 · 0 评论 -
python编程之路——类和对象
一、类的用法1.1 类的构造类即类别、种类,是面向对象设计最重要的概念,对象是特征和技能的结合体,而类是一系列对象相似的特征与技能的结合体。在程序中,务必保证先定义类,后产生对象。类和函数的使用是类似的,先定义函数,后调用函数,类也一样。在程序中先定义类,后调用类。不一样的是,调用函数会执行函数体代码返回的是函数执行的结果,而调用类会产生对象,返回的是对象。定义类,使用关键字class ...原创 2020-02-25 19:53:19 · 321 阅读 · 0 评论 -
编程高手之路——闭包函数
一、函数嵌套调用1.1函数嵌套调用函数嵌套指的是在函数内部又调用了其它的函数。# 求三个数的最大值def max2(x, y): if x > y: return x else return ydef max3(x, y, z): res1 = max2(x, y) res2 = max2(res1, z) ...原创 2020-02-23 17:43:53 · 1120 阅读 · 0 评论 -
python编程高手之路——函数调用
一、函数介绍1.1 函数的定义与调用说明函数名本质和变量类似(打印一个变量直接看到的结果是变量的值,这是因为在内部做了转化,为了能够看得更直观,打印函数直接看到的结果是一个内存地址,从底层上讲,变量名和函数名其实都是与内存地址对应的,因为定义的过程就是在开辟内存空间),所以函数名定义规则与定义变量名一致。函数就像是一个功能,这个功能就是要执行一个动作,所以约定俗成写成动词或者动词词组。具备...原创 2020-02-23 03:53:16 · 530 阅读 · 0 评论 -
Python编程高手之路——第三章:数据类型
三、数据类型3.1 数据类型3.1.1 数字类型int和float数字类型即变量的值,如age=18,18就是我们保存的值;变量是用来反映/保存状态以及状态变化的,针对不同的状态应该用不同的数据去标识;数字类型只能存储一个值,是不可变类型(不可变类型可以哈希,后面的章节会讲解哈希)3.1.2 int类型常用的方法bin()、oct()、hex()在进制转换中经常用到;pri...原创 2019-12-10 21:37:47 · 332 阅读 · 0 评论 -
Python编程高手之路——第二章:流程控制
二、流程控制2.1 运算方式计算机的核心部件是CPU,CPU有两个功能,控制和运算;2.1.1 数学运算print(a ** b) # 幂print(a // b) // 取整数2.1.2 比较运算print(a == b)print(a > b)print(a >= b)2.1.3 赋值运算a = ba %= ba **= ba //= b2....原创 2019-11-04 22:33:37 · 456 阅读 · 0 评论 -
Python编程高手之路——第一章:用户交互
一、编程入门1.编程语言的划分编程语言分为机器语言、汇编语言、高级语言1.1 机器语言机器语言是用二进制数字0和1进行编程,机器语言是人站在计算机的角度去编程,编程开发效率低,程序运行效率高。1.2 汇编语言汇编语言可以理解为人说“机人话”,就是人用简写的英文标识符去取代二进制,汇编语言开发效率提升,程序运行效率稍微降低。1.3 高级语言之所以称为高级,是因为它与以上两种语言有本质...原创 2019-11-04 20:03:28 · 355 阅读 · 0 评论