python_学习
文章平均质量分 92
NightCharm
配不上自己的野心,也辜负了所有的苦难
展开
-
python基础数据类型二
元祖 tupe概念元祖被称为只读列表,即数据只可以被查询,不可以被修改。元祖的修改(不可被修改)元祖不可被修改。那么为什么还要说元祖的修改呢?对于一个元祖,它的子辈不可被修改但是它的孙辈可以修改tu = (1,2,3,[4,5,6])# 对于tu 1 2 3 list 为它的 子辈# [4,5,6] 为它的 孙辈tu[3][1] = 9-----------tu = (1,原创 2017-12-19 21:37:42 · 244 阅读 · 0 评论 -
logging
logging 库采用模块化的方式提供了几种类型的组件:loggers,handlers,filters,formatters。Loggers 暴露了应用程序代码可以直接使用的接口 Handlers 发送日志记录(由 loggers 创建)到合适的目的地 Filters 提供了细粒度的方法来决定哪些日志记录需要被输出 Formatters 指定了在最终输出时,日志记录的布局格式 日志事转载 2018-01-28 01:56:45 · 486 阅读 · 0 评论 -
整理一些小知识点
随机更新自启动目录是登录自己用户时才能开机启C:\Users\Night\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup把文件拷贝进去登录所有用户时都能开机启动C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp在文件操作中 :r原创 2018-01-28 02:20:03 · 238 阅读 · 0 评论 -
dis模块——神奇的字节码
dis模块 入门Python代码先翻译成字节码,又由Python虚拟机来执行字节码,python的字节码类似汇编指令的中间语言,一个Python语言会对用若干字节码指令,虚拟机一条条执行指令,从而完成程序的执行Python dis 模块支持对Python代码进行反汇编, 生成字节码指令。import disdef main(): while 1: pass原创 2018-02-04 12:36:07 · 1276 阅读 · 0 评论 -
变量
变量在python中变量是什么?我们天天说变量,什么变量的命名规范,那么什么是变量?首先在python中使用变量,不需要提前声明,也不需要指定类型变量类型我们天天说的变量其实是说变量类型:变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可原创 2018-01-20 02:15:22 · 248 阅读 · 0 评论 -
python PEP8规范
python PEP8规范1、 代码布局设计1.1 缩进使用四个空格来进行缩进 换行的时候可以使用反斜杠,最好的方法是使用园括号,在使用反斜杠的时候,在反斜杠的后直接回车,不能有任何空格存在比较好的做法如下:对准开始的分隔符:# Aligned with opening delimiter.foo = long_function_name(v转载 2018-02-04 18:53:11 · 423 阅读 · 0 评论 -
python基础数据类型浅析
python基础数据类型以下代码均在 win64位电脑 python3.6解释器中运行说到基础数据类型,我们可以很容易的想到 数字 字符串 元组……数字我们都知道数字int 是不可变数据类型,也就是每一个数字都会开辟一块内存空间进行存储数据。>>> id(1)499664528>>> id(2)499664544>>> id(3)499664560>>> i原创 2018-01-20 18:11:48 · 359 阅读 · 0 评论 -
对象和变量
对象和变量对象 = 内存空间和指向次数变量 = type + id + value什么是引用引用在python中的语义应该是一种关系,变量和对象之间的关系,其实也就是指针指向某一块内存空间的关系。既然是变量和对象之间的关系,那么其实就意味着,对于一个对象来说,和不同的变量可能存在着多个“引用”关系。因为变量是无类型的,他想关联谁就可以指向谁,这也就牵扯到了一个“引用计数”的概念原创 2018-01-20 21:47:50 · 943 阅读 · 0 评论 -
bisect——模块
bisect ——这是一个python的针对有序 数组的插入和排序操作的一个模块首先看看bisect这个模块中都有什么方法吧import bisect[print(i) for i in dir(bisect)if i.find('__') == -1]bisectbisect_leftbisect_rightinsortinsort_leftinso...原创 2018-02-14 16:32:52 · 12683 阅读 · 0 评论 -
random——模块
random——产生伪随机数模块用途 random 模块是为各种分布实现伪随机数发生器。几乎模块中所有函数都依赖于基本函数random(),它在半开放范围[0.0,1.0)内产生一个统一的随机浮点数。Python使用Mersenne Twister作为核心生成器。它生成53位精度浮点数,周期为2**19937-1.C中的底层实现即快速又线程安全。注:Mersenne ...原创 2018-02-14 18:02:39 · 7488 阅读 · 0 评论 -
ctypes——模块
ctypes声明——以下代码均在python3.6下测试执行的初识msvcrt.printf只打印一个字符python3.x中import ctypesmsvcrt = ctypes.cdll.msvcrtmessage_string = 'Hello world!\n'msvcrt.printf('Testing:%s',%message_string)...原创 2018-02-19 23:08:19 · 6266 阅读 · 0 评论 -
python偏函数编程
python偏函数编程对于Python,简洁是一个核心原则,在python2.5以后引入了一个概念——偏函数为什么要使用偏函数当然是为了简洁啦~更好的支持DRY编程原则(DRY编程原则是指强调不要写重复代码)如果我们定义了一个函数,需要4个参数,上层有很多函数需要调用这个函数。在这些调用中,80%的调用传递的参数都是one=1,two=20,如果我们每都输入相同的参数,这样...原创 2018-02-21 01:38:45 · 371 阅读 · 0 评论 -
Python 魔术方法小结
Python 类中的双下方法从常用的开始:快被自己蠢哭了一、_ _ init __实例化对象时调用class Foo: def __init__(self,name): self.name = namef = Foo('CharmNight') # 这时候就调用__init__方法_ _ new__创建类对象时调用_ _ ne...原创 2018-02-23 22:42:44 · 2594 阅读 · 1 评论 -
装饰器的一些使用方法
装饰器的一些使用方法在类中写装饰器方式一:class Foo: def __init__(self): self.name = 'CharmNight' def inners(funcs): def inner(self, *args, **kwargs): ret = funcs(self, *ar...原创 2018-03-25 18:45:15 · 770 阅读 · 0 评论 -
列表推导式总结
list1 = [11, [22, 3], [4, ], [55, 66], 8, [9, [7, [12, [34, [26]]]]]]如这个list 如何将这些中括号去掉去括号,要知道一句话字符串操作要比类型操作容易。所以我的第一反应是li = str(list1).replace('[', '').replace(']', '').split(',')print([in...原创 2018-03-27 19:15:18 · 1883 阅读 · 0 评论 -
ModelForm
ModelFormModel可以理解为数据库,Form是Form组建, ModelForm一个Form组建的扩展类,可直接关联Model, 也就是说会有强耦合。但是用起来简单哇举个栗子先直接看例子吧model.pyclass User(models.Model): """用户信息表""" user = models.CharField(max_len...原创 2018-04-28 11:51:29 · 567 阅读 · 0 评论 -
redis
Redis 基础redis是什么redis是一个开源的、使用C语言编写、支持网络交互、可持久化的Key-Value数据库它通常被称为数据结构服务器数据模型Redis的外围由一个键、值映射的字典构成。与其他非关系型数据库主要不同在于:Redis中的值的类型不仅限于字符串,还支持如下抽象数据类型:字符串结构无序集合有序集合hash类型(字典类型)列表...原创 2018-06-08 14:41:18 · 466 阅读 · 0 评论 -
面向对象
面向对象初识面向对象面向对象什么都是对象,1是对象 ‘str’是对象 方法是对象 类也是对象,对象是一种体现,面向对象是一种思想。可以理解成:面向过程变成是在不停的搬砖,而面向对象编程是指点江山(分配任务),并不是一味的考虑怎么做,而是考虑如何分配。面向对象,你就是上帝,上帝说有光,这个类就有光了,你要分配什么时候该有光,什么时候该黑暗,这就是对象的交互,产生结果c原创 2018-01-27 20:19:24 · 305 阅读 · 0 评论 -
递归
递归什么是递归迭代的是人,递归的是神 —— L.Peter Deutsch简单定义:当函数直接或者简介调用自己的时候,发生递归。基本要素边界条件:确定递归到何时终止,也称为递归出口递归模式:大问题如何分解成小问题的,也成为递归体举个栗子:# 计算阶乘def func(n): nub = 1 while n != 1:原创 2018-01-10 01:15:12 · 426 阅读 · 0 评论 -
python基础数据类型三
补充变量的内存存储字典概念字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据,python对key进行哈希函数运算,根据计算结果决定value的存储地址,所以字典是无序的(python3.5之前是无序的,在python3.6以后 dict 是有序的 ),且key必须是可哈希的可哈希 :不可变类型intstrtuplebool不可哈希:可变类型listdi原创 2017-12-20 22:32:25 · 277 阅读 · 0 评论 -
小知识点
小知识点python2 python3的区别一:编码python2默认编码方式为ascii码python3默认编码方式为utf-8在python2中显示中文的方法 在首行 添加 # -- encoding:utf-8 - -二、长整形 long在python3中不在有long类型,全是int三:printpython2.7 中 print可加括号也可以不加print('asd')pr原创 2017-12-21 21:47:42 · 304 阅读 · 0 评论 -
python基础数据类型四
补充list在for循环中最好不要进行删除操作在for循环中进行删除:经常出现的问题1.索引超出范围lis = [11,22,33,44,55]for i in range(len(lis)): del lis[i]----------------Traceback (most recent call last): File "D:/untitled/demo.py", line 4原创 2017-12-22 16:02:05 · 240 阅读 · 0 评论 -
python 第一天基础
python 第一天基础计算机基础入门CPU:中央处理器。内存:存储数据,读取速度较快,但是断电即消失。用于存储一些瞬时数据硬盘:存储数据,分为机械硬盘和固态硬盘,固态硬盘读取速度>机械大范围。断电不消失,可以长久存储操作系统:windows系列、Linux系列应用程序:qq、微信等 应用程序调用:通过鼠标(输入设备)点击应用系统,操作系统将硬盘的数据读取到内存,在从内存调到cpu缓存中,在到原创 2017-12-14 20:24:15 · 417 阅读 · 0 评论 -
python第二天基础
基础运算符算数运算设 a = 10 ; b = 20 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或者时返回一个被重复若干次 a * b 输出结果 200 / 除 - a 除以 b b / a 输出结果 2 %原创 2017-12-15 15:19:27 · 300 阅读 · 0 评论 -
python基础数据类型一
数据类型什么是数据类型? 数据类型就是区分数据不同的状态python 中的数据类型 数据类型 python中的写法 数字 int a = 12 字符串 str a = ‘abc’ 列表 list a = [1,2,3] 元祖 tuple a = (1,2,3) 字典 dic a = {‘n原创 2017-12-18 16:35:52 · 428 阅读 · 0 评论 -
文件操作
文件操作文件打开的两种方式文件句柄 = open(‘文件路径’, ‘模式’)python中打开文件有两种方式,即:open(…) 和 file(…),本质上前者在内部会调用后者来进行文件操作,在这里我们推荐使用open一、openf = open('文件路径', mode='r', encoding='utf-8')f.read()f.close()该方法每次都要执行f.close()方法,原创 2017-12-27 14:36:21 · 466 阅读 · 0 评论 -
函数一
python中万物皆为对象函数函数的定义def:表示函数的关键字函数名:函数的名称,日后根据函数名调用函数函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等…参数:为函数体提供数据返回值:当函数执行完毕后,可以给调用者返回数据。def func(): pass函数的调用func()函数的返回值return用来返回数值。当没有返回原创 2017-12-27 18:48:31 · 249 阅读 · 0 评论 -
函数二
函数二默认参数的陷阱def func(li=[]): li.append(1) print(li)func()func([])func()func()上述代码运行结果[1][1][1, 1][1, 1, 1]我们可以发现这是什么鬼!!! 如果我们的默认参数是一个可变数据类型 (列表、字典),我们要知道如果我们没有传递数据,即我们使用的是默认的列表,那么当我们多次调用时可以原创 2017-12-27 18:49:12 · 265 阅读 · 0 评论 -
迭代器、可迭代对象、生成器
可迭代对象可迭代协议我们现在是从结果分析原因,能被for循环的就是“可迭代的”,但是如果正着想,for怎么知道谁是可迭代的呢?假如我们自己写了一个数据类型,希望这个数据类型里的东西也可以使用for被一个一个的取出来,那我们就必须满足for的要求。这个要求就叫做“协议”。可以被迭代要满足的要求就叫做可迭代协议。*可迭代协议的定义非常简单,就是内部实现了iter方法。*如果这个原创 2018-01-03 19:37:35 · 6699 阅读 · 3 评论 -
装饰器一
装饰器什么是装饰器首先我们要明确 装饰器是一个函数,应该是叫做装饰器函数,简称为装饰器,这个函数遵守开闭原则,在不修改原函数的基础上对该函数进行功能的扩展装饰器的作用不想修改函数的调用方式 但是还想在原来的函数前后添加功能主要功能在不改变函数调用方式的基础上在函数的前、后添加功能装饰器的形成过程有一个需求:计算一个已有的函数的运行时间。(time模块,用于操作时间,下面用到的time.time是获取原创 2017-12-28 15:47:49 · 268 阅读 · 0 评论 -
collections模块
collections在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。namedtuple 生成可以使用名字来访问元素内容的tuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:原创 2018-01-13 20:56:31 · 262 阅读 · 0 评论 -
元组——不为人知的世界
元组——不为人知的世界都知道元组是一个不可变的列表,但是元组真的只是一个不可变的列表么?元组的特点元组是一个不可变的列表(元组中不可进行修改操作)元组是一个没有字段名的记录不可变列表对于元组的操作,我们应该都很熟悉,说些小冷门对比list不可变列表那么必不可少的和列表进行比较了print(dir(tuple))print((set(dir(l原创 2018-01-13 22:41:24 · 404 阅读 · 0 评论 -
内置函数
内置函数作用域相关基于字典的形式获取局部和全局变量localslocals()——获取执行本方法所在的命名空间内的局部变量的字典def func(): a = 1 print(locals()){'a': 1}print(locals()){'__name__': '__main__', '__doc__': None, '__pack原创 2018-01-07 15:53:58 · 420 阅读 · 0 评论 -
重点内置函数应用
重点内置函数应用len拿到列表、字符串等长度print(len('asdf'))4senumerateenumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值enumerate多用于在f原创 2018-01-07 15:54:35 · 286 阅读 · 0 评论 -
匿名函数
匿名函数格式函数名 = lambda 参数 :返回值#参数可以有多个,用逗号隔开#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值#返回值和正常的函数一样可以是任意数据类型在编程语言中,函数的应用:代码块重复,这时候必须考虑用到函数,降低程序的冗余度代码块复杂,这时候可以考虑用到函数,降低程序的可读性在Python,有两种函数,一种是原创 2018-01-07 15:55:03 · 5968 阅读 · 0 评论 -
初探Python内存
Python中的堆栈内存以我的理解:python解释器中也开辟了堆栈,栈是用于存放指令集的,而堆是存放变量的Python内存分配以512字节为阙值分为大小对象,大对象直接分配内存,小对象使用专用内存分配器。小对象按固定长度对齐后,再分成不同类别,以便于复用和管理。首先,向系统内存申请大块Arena内存,按页大小将其分成多个Pool快,这是一级重用单元,每个Pool为一种类别...原创 2018-07-19 09:18:59 · 2242 阅读 · 0 评论