base64编码的实现-----python Base64 编码用一些很常见的 ASCII 字符来表示 0-63(2^6-1) ,构成 6 个 bit。用 A-Z 表示 0-25 ,a-z 表示 26-51 , 0-9 表示 52-61 , + 表示 62, / 表示 63。剩余的两位后面补4个0补齐六位,剩余的后12为都是null也就是==剩余4为后面补两个00组成一个新的6位,剩余一个null用=填充。上面的链接是基维百科对base64编码的解释。基维百科给出了解决办法。
Path类使用---python .Path对象 / Path对象 .Path对象 / 字符串 .字符串 / Path对象 .joinpath(*other)在当前Path路径连接多个字符串返回新路径对象parts属性,会返回目录各部分的元组str获取路径字符串bytes获取路径字符串的bytesparent目录的逻辑是父目录parents父目录惰性可迭代对象,索引0是直接的父name目录的最后一个部分suffix目录的最后一个部分的扩展名stem目录的最后一个部分,没有后缀na
装饰器---python 概念:将原来接受两个参数的函数变成新的接受一个参数的函数过程,新的函数返回一个以原有第二个参数为参数的函数例如:原函数是add(x,y),柯里化的目标是add(x)(y),如何实现呢?相当于嵌套函数,有闭包,内层函数inner调用量外层函数变量x,形成了闭包。再来看:柯里化的目标是1 def(x)(y,z)2 add(x,y)(z) 3 add(x)(y)(z)了解了柯里化以后,下面就开始进入装饰器的讲解装饰器:用来装饰函数或类由来需求为加法函数增加记录实参的功能可以写成这样:但是存在一个
python-----函数详解(一) def 函数名(标识符)函数体(代码块)return(返回值){如果没有return语句,隐士返回None值}下面用一个最简单的函数,加法来举例说明调用时写传入的参数是实际参数,是实实在在传入的值,简称为实参,如add(5,4)定义中参数列表称为形式参数,只是一种符号的表达(标识符),简称形参,如add(x,y)输出结果从上面代码中可以看出,定义了一个叫add的函数,能接收两个参数该函数计算 的结果,通过返回值返回,也就是return语句。
python--列表解析式详解 列表解析是也叫列表推导式列题1、#生成一个列表,打印1~10的奇数[返回for元素中in可迭代对象 if条件]使用[]括号,内部是for循环,if条件可选生成一个新的列表由此可知 使用列表解析式,不会因为简写而影响效率,反而会提高效率,因为编译器会优化减少了程序员的工作量,减少出错简化了代码,增强了可读性下面来看复杂的语法,一斜到底:等价于ret=[]if cond1:if cond2:列题3、使用列表解析式打印1~20既能被2又能被3整除的数等价于ret=[]
简单选择排序 简单排序,就是每一趟两两相比较,找出极值并放在有序区。如排序过程如下假设最大数我索引1对应的值,依次与后面的数进行比较,如果索引1的值比后面的值小,就假设最大值索引1的后一位,然后依次进行比较。选出这一趟的最大值,与索引1进行交换,每一趟最左边固定最大值,扩大红色的有序去,减少黑色的无序区。
字典----- python 返回key对应的value值,key不存在,添加kv对,value设置为default,并返回default,如果default没有设置缺省值为value。key存在,移除它,返回它的value值,不存在,返回给定的default,default未设置,key不存在就抛出KeyError异常。使用宁一个字典的kv对更新本字典,key不存在,就添加,key存在覆盖已存在的key对应的值,就地修改。key值不存在,使用缺省值凑成kv对写入字典,同时返回写入的value值,key存在相当于get。
集合(set)---------python 集合(set)是一种非线性数据结构,无序的记录一堆不可变的数据集合,它是一个可变、无序的、不重复的元素序列。因为可变所及集合不可索引,他有多种运算如交集、并集、差集等常见的集合操作。下面是集合的一个思维导图,以此思维导图来逐步讲解集合的各种操作及运算。
冒泡排序---python 冒泡排序是最简单和最通用的排序算法,基本思想是:在一组排序的数组中,将相邻的两个数进行比较,若前面的数比后面的大就交换数据,否则不交换,如此下去直至最终完成排序,由此可得在排序过程中大的数据往下沉,小的数据往上浮,就像气泡一样,故称为冒泡排序。通过红色的圈可以看出来这里只耗费了四趟,数据就已经排序号了,剩余的每一趟在进行比较耗费时间,浪费效率,所以这里怎么改善这个问题呢?由图1-1所示,4个数据,要比较三趟,且每比较一趟,每一趟比较的次数就减少1次所以这里用两重循环搞定。推而广之如果是多个数据的排序呢?
杨辉三角超详细多种解法详解--之python 杨辉三角,是在三角形中的一种几何排列,中国南宋数学家1261年所著的《》一书中出现。在欧洲,(1623----1662)在1654年发现这一,所以这个表又叫做。帕斯卡的发现比要迟393年,比迟600年。[1]杨辉三角是中国数学史上的一个伟大成就。
进制详解--python 计算机能直接识别和执行的是机器语言,它是有一系列的二进制数组成,代表特定的指定和数据。计算机中的数据都是以二进制形式进行存储,所以对于一个专业程序员来说,数据是计算机的核心,了解进制就尤为重要。计算机中的数制表示方法有二进制、十进制、八进制、十六进制,他们有什么用?各进制又是如何相互转换的?