
python3理论
THE___END___
这个作者很懒,什么都没留下…
展开
-
字典
key不能重复,如果重复会把value值替换掉。字典的key实际上是自动排重。>>> d={}>>> type(d)<class 'dict'>>>> isinstance(d,dict)True>>> d[1]="a">>> d{1: 'a'}>>> d[[1...原创 2019-12-02 14:00:05 · 142 阅读 · 0 评论 -
通过list实现堆栈
通过list实现一个堆栈,堆栈就是存储数据的一种数据结构,后存入的数据,会被先取出(摞盘子)>>> stack=[3,4,5] #stack n.一堆一叠>>> stack.append(6)>>> stack.append(7)>>> print(stack)[3, 4, 5, 6, 7]>...原创 2019-11-29 11:29:06 · 424 阅读 · 0 评论 -
浅拷贝、深拷贝
深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别。深拷贝和浅拷贝需要注意的地方就是可变元素的拷贝:在浅拷贝时,拷贝出来的新对象的地址和原对象是不一样的,但是新对象里面的可变元素(如列表)的地址和原对象里的可变元素的地址是相同的,也就是说浅拷贝它拷贝的是浅层次的数据结构(不可变元素),对象里的可...转载 2019-11-29 11:19:03 · 785 阅读 · 0 评论 -
枚举
>>> for i ,k in enumerate(["a","b","c"]):... print(i,k)...0 a #有坐标和值1 b2 c把坐标为偶数的字母后面加个星号进行输出>>> for i ,k in enumerate(["a","b","c"]):... if i%2==0:... ...原创 2019-11-29 09:15:30 · 116 阅读 · 0 评论 -
迭代器、生成器
**迭代器:**用于循环>>> a=[1,2,3]>>> a=iter(a) #把列表a转为迭代器>>> next #内置函数<built-in function next>>>> next(a) #next() 调用迭代1>>> next(a)2>>>...原创 2019-11-29 09:10:02 · 135 阅读 · 0 评论 -
推导列表
>>> [x+1 for x in range(1,10,2)][2, 4, 6, 8, 10]>>> [x+10 for x in range(1,10,2)][11, 13, 15, 17, 19]>>> [x*y for x in range(1,10,2) for y in range(3)][0, 1, 2, 0, 3, 6...原创 2019-11-28 17:38:04 · 123 阅读 · 0 评论 -
operator、pop、append、extend、sort、sorted
操作符函数 operator>>> import operator>>> operator.add(1,1)2>>> operator.sub(1,1) #减0>>> operator.mul(1,1) #乘1>>> operator.truediv(1,2) #除0.5>&g...原创 2019-11-28 09:02:51 · 270 阅读 · 0 评论 -
exec和eval
exec()动态执行python代码。也就是说exec可以执行复杂的python代码,而不像eval函数那样只能计算一个表达式的值。>>> s="print(1)">>> s'print(1)'>>> exec(s)1>>> s="print(1)">>> s'print(1)'>&...原创 2019-11-27 10:36:19 · 128 阅读 · 0 评论 -
递归
递归:1.是一个函数2.函数执行的过程中,自己调用自己3.递归一定有结束调用自己的条件4.递归效率不高5.什么问题必须用递归?汉诺塔示例:>>> def print_str(n):... if n<0:... return... print("*:",n)... print_str(n-1)...>&g...原创 2019-11-27 10:15:00 · 72 阅读 · 0 评论 -
目录操作
查看在哪个目录下>>> import os>>> os.getcwd()'C:\\Users\\Administrator.THEEND-PC'改变目录>>> os.chdir("e:\\")>>> os.getcwd()'e:\\'查看当前目录下有什么文件:>>> os.getcwd(...原创 2019-11-22 17:16:25 · 165 阅读 · 0 评论 -
文件的读写操作
#-*- coding:utf-8 -*-fp1=open(“e://a.txt”,”r”,encoding=”gbk”)info1=fp1.read()print(“字符串类型:”)print(type(info1))print(“字节类型:”)print(type(infol.encode(“utf-8”))) #编码为utf-8格式字节类型fp2=open(“e://b.txt...原创 2019-11-22 09:10:33 · 262 阅读 · 0 评论 -
模板字符串
%d必须是跟一个数字,如果是跟字符串会报错%s传什么都行>>> "%d a number:" %1'1 a number:'>>> "%d a number:" %"a"Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeErr...原创 2019-11-21 17:32:02 · 117 阅读 · 0 评论 -
编码转换
题:把gbk的bytes类型转换为utf-8的bytes类型byte类型和编码名字有关系编码之间的转换要通过Unicode进行中间的转换GBK(bytes)–> utf-8(bytes)?通过chardet检测,并尝试用一行代码解决。先用encode声明一个GBK的用decode转为Unicode,再用encode转为utf-8方法一:>>> s="光荣之路...原创 2019-11-21 16:29:05 · 524 阅读 · 0 评论 -
局部变量;在函数体内部定义参数;在外部定义参数;可变参数
错误示例:func是一个函数,把它赋值为10,就变成了一个整数,整数不可调用>>> def func():... n=2... return n...>>> func=10>>> print(func()) #整数(非函数对象)加括号,不可调用Traceback (most recent ca...原创 2019-11-21 13:54:34 · 1613 阅读 · 0 评论 -
reduce函数:累加
reduce函数在python3的内建函数移除了,放入了functools模块要先“from functools import reduce”否则,会报错:NameError: name ‘reduce’ is not defined>>> from functools import reduce>>> reduce (lambda x,y:x+y,[1...原创 2019-11-08 11:02:10 · 426 阅读 · 0 评论 -
filter()
用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或者False,最后将返回True的元素放到新列表中。>>> list(filter(lambda x:x%2,[1,2,3,4]))[1, 3]>>> list(filter(lambda x:x%...原创 2019-11-08 10:35:36 · 292 阅读 · 0 评论 -
Lamda函数
lambda语句被用来创建新的函数对象,并且在运行时返回它们python使用lambda关键字来创建匿名函数。这种函数得名于省略了用def声明函数的标准步骤。lambda只是一个表达式,函数体比def简单很多lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda函数拥有自己的名字控件,且不能访问自由参数列表之外全局名字里的参数,不能打...原创 2019-11-08 09:57:16 · 419 阅读 · 0 评论 -
可变参数
使用元组作为函数的参数(可变参数)>>> def func(a,b,*arg): # *星表示可变参数... print(type(arg))... for i in arg:... print(i)...>>> func(1,2)<class 'tuple'>>>> func(1,...原创 2019-11-07 16:37:31 · 100 阅读 · 0 评论 -
参数:命名参数、可变参数
有参数函数–必备参数:函数应该检查参数类型#raise 抛出异常对象(固定用法)def my_abs(x): if not isinstance(x,(int,float)): raise TypeError('bad operand type') if x>=0: return x else: return -x...原创 2019-11-07 16:21:06 · 375 阅读 · 0 评论 -
传参:按值传递、引用传递
如果传参是不可变类型,函数外面不变,如果传参是可变类型,那么函数外面可变。按值传递:不会改变原有的值>>> a=1>>> def func(a):... a=a+1... print(a)...>>> a1>>> func(a)2>>> a1引用传递:传变量,会改变...原创 2019-11-07 14:07:26 · 170 阅读 · 0 评论 -
函数
函数:函数是重用的程序段,允许给一块语句一个名称在程序的任何地方使用这个名称任意多次地运行这个语句块,此方式被称为调用函数。之前的示例已经使用了许多内建的函数,比如len和range通过改变函数的参数,可以最大程度的复用代码函数的定义规则:自定义函数时,需要满足一些规则,否则编译器不会识别。1)函数代码块以def 关键词开头,后接函数标识符名和圆括号()。2)任何传入实参和...原创 2019-11-06 16:36:05 · 254 阅读 · 0 评论 -
退出多层循环
方法一:正常情况下不报错,三层循环,会执行5的三次方#raise 抛出异常对象(固定用法)#try中抛出一个异常,try里所有的代码都不会被执行。class getoutofloop(Exception):passtry: for i in range(5): for j in range(5): for k in range(5): if i==j==k==3:...原创 2019-11-06 15:23:59 · 193 阅读 · 0 评论 -
五种基本数据类型:Number、String、List、Tuple、Dictionary
Numbers ---- 数字String ---- 字符串List ---- 列表Tuple ---- 元组Dictionary ---- 字典>>> int("100") #int()字符串转为整数100>>>>>> int("100",base=2) #二进制的100,转为十进制>&g...原创 2019-10-22 16:02:33 · 1834 阅读 · 0 评论 -
随机函数random()
>>> import random #导入random模块>>> random.randint(1,10) #random.randint() 返回随机生成的一个整数7>>> random.random() #random.random()返回一个随机实数0.6494807895590728>&g...原创 2019-10-22 11:12:36 · 598 阅读 · 0 评论 -
常量:python里面没有常量;变量
如果想让一个值不变就要存到一个方法里 const.pyimport constconst.magic=23print(const.magic)const.magic=33变量:存在内存里命名规则:区分大小写 ; __a 私有的,只能在类的内部访问>>> a=1 #c++两数交换值>>> b=2>>>...原创 2019-10-17 17:17:59 · 406 阅读 · 0 评论 -
字符串
可用type函数来查看类型>>> "我们".encode("gbk")b'\xce\xd2\xc3\xc7'>>> type("我们".encode("gbk")) #转为gbk是bytes类型<class 'bytes'>>>> type("我们") #单独的我们是str类型<class 'str'>...原创 2019-10-17 17:06:39 · 72 阅读 · 0 评论 -
编码格式
GBK比GB2312老一点;GBK是全字符,所有都包含;台湾用BIG-5;美国ANSI显示英文及其字符;世界上第一台计算机是冯.诺依曼发明的;乱码:类型不一致;网页里有默认编码,但传的不一致Unicode:全世界的文字都可以用unicode表示;不会用于传输如果你的网页产生乱码会是什么原因?unicode(UTF-8)在微软里定义是一样的传递的数据和存储的编码是不一样的;网页会设置一种编...原创 2019-10-17 15:07:31 · 163 阅读 · 0 评论 -
基础数据类型
对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。用type()查看对象类型,交互模式下执行的所有东西都是存在内存里面,肯定要占用空间,分类型就是为了管理内存,字长都是固定的长度,语言都是有类型的。 python不需要指定类型直接赋值。用type()查看类型:>>> a="1">>> b=1>&g...原创 2019-08-21 11:26:54 · 114 阅读 · 0 评论 -
Python的环境安装
1.安装Python如果安装了两个版本:cmd —> py -2/py -3执行文件在dos模式下执行,执行python程序在交互模式下执行 cmd —> py -3 a.py2.下载pycharm 社区版3.Pip:相当于给python安装程序包;在dos模式下执行py -3 -m pip #如果装个两个版本pythonPip #如果只安装了pip3;访问pi...原创 2019-08-21 11:25:58 · 78 阅读 · 0 评论