###############    @property定义属性    ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # 内置装饰器函数 只在面向对象中使用 # 注意: # 1,不能传递任何的参数, from math import pi class Circle: def __init__(self,r): self.r = r @property def perimeter(self): # 不能传递任何的参数,周…
###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自己写的非函数中的代码 是在程序从上到下被执行的过程中依次加载进内存的, 放置了我们设置的所有的变量名和函数名, 局部命名空间,——函数 就是函数内部定义的名字 在函数调用的时候才会产生这个命名空间,随着函数调用的结束,这个命名空间就消失了, 内置命名空间,——Python解释器, 就是Python解释器一启动…
###############      常用模块   ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # 3,random模块 # 4,os模块 # 5,sys模块 # 6,序列化模块 # 7,re模块 # 8,hashlib模块 # 9,configparse模块 # 10,logging模块 ###############      collections模块   ################…
###############    python-异常的操作  ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异常:python停止程序,提示错误,这就是抛出异常 # 捕获异常: # 捕获异常的语法: # try: # 尝试执行的代码 # except: # 出现错误的处理 try: num=int(input('请输入一个整数:')) except: print('请输入正确的整数') print('---…
###############    python-简单的文件操作  ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 # 2,读写文件,默认是从文件的开始读取数据,也就是读取文件的所有内容 # 3,关闭文件,文件必须要关闭,否则会造成系统资源消耗,而且户影响后续会文件的访问 # 常用方法: # open # write # read # close # readline,这个什么时候用, # 文件打开方式: # 语…
###############    递归   ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是不是一个从小到大排序的有序列表呀? # 如果这样,假如我要找的数比列表中间的数还大,是不是我直接在列表的后半边找就行了? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] def search(…
###############    类的基本操作    ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一个字典和列表就是一个类的实例,就是对象, 3,类定义的时候,类名后面可以有括号,也可以没有括号, 4,类传参是通过__init__方法来传参的,只要实例化一个对象,就会调用这个方法, 5,一个类有三要素:类名,属性,方法,类名要大写,类名使用大驼峰命名法, 6,self代表类的实例,必须要有,名字不必须是se…
###############    ORM进阶---contenttype    ################ 设计思路: """ 路飞有两种课,专题课和学位课, 专题课都是简单的内容,基础的课程模块, 学位课都是大课程,全套课程, 怎么设计价格策略的问题? 第一种设计: 价格策略表: id,价格, 期限,专题课id,学位课id 1 11 3个月 1 空 1 11 6个月 1 空 1 11 9个月 1 空 1 11 9个月 2 空 1 11 3个月 空 1 1 11 6…
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__() 和 __deltattr__()这三个通过属性的方式的三个方法 还有__getitem__(), __setitem__() 和 __delitem__()这三个函数, 是通过字典形式来处理属性 字典形式使用中括号的方式获取值 在实现__setitem__()的时候仍然需要使用__dict__来…
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass obj=Foo() print(isinstance(obj,Foo)) #判断是不是类的对象 输出结果为: True issubclass(sub, super)检查sub类是否是 super 类的派生类 class Bar(): pass class Foo(Ba…
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题:我们现在使用的库,比如pandas.scikit-learn和statsmodels,那时相对来说并不成熟.2017年,数据科学.数据分析和机器学习的资源已经很多,原来通用的科学计算拓展到了计算机科学家.物理学家和其它研究领域的工作人员.学习Python和成为软件工程师的优秀书籍也有了. 因为这本书…
python语法学习面向对象之继承 转载自:http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学习类的继承. 继承: 面向对象的编程带来的主要好处之一是代码的重用,实现这种重…
传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学习类的继承. 继承: 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法   class 派生类…
面向对象进阶当然是要谈谈面向对象的三大特性:封装.继承.多态 @property装饰器 python虽然不建议把属性和方法都设为私有的,但是完全暴露给外界也不好,这样,我们给属性赋值的有效性九无法保证,因此,为了使得对属性的访问既安全又方便,可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作,在python中,可以考虑使用@property包装器来包装getter和setter方法 class Person(object): def __init__(self,nam…
面向对象进阶 总结.补充(http://blog.csdn.net/fgf00/article/details/52479307) 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 动态绑定属性,限制绑定( __slots__) 异常处理 一. 面向对象高级语法部分 1.静态方法(@staticmethod) 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法. 普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态…
内容: 面向对象高级语法部分异常处理 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 Socket开发基础 面向对象高级语法部分 静态方法       通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量, 但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需…
目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 前言 为什么想起学Python了? 之所以想起学学Python是有三个缘由.从时间顺序上看,首先是在10月中旬,笔者去学校招聘会走了走,发现招Python开发的挺多的,有在线教育.智慧城市等行业,基本以数据挖掘处理为主.其次是10月中旬接到了腾讯微信搜一搜后台的实习面试邀请,那边招C++和Pytho…
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 字符串1.2.2 标准数据类型1.2.2.1 列表(方括号)1.2.2.2 元祖(圆括号)1.2.2.3 字典(花括号)1.3 运算符1.3.1 算术运算1.3.2 关系运算1.3.3 逻辑运算1.3.4 赋值运算1.3.5 位运算1.3.6 成员运算1.3.7 身份运算1.4 表达式1.5 返回…
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(" I'm python "*3)print('{}+{}={}'.format(1,2,1+2))print(1,2,['x','y'],'a')print(type('1'),type(1))print(len(name)) 运行结果: 2 打开文件,写入数据. file=open('D…
##################     内置函数        #######################  """ 一共是 68个内置函数: 反射相关的内置函数4个: setattr() delattr() hasattr() getattr() 和作用域相关的两个: globals() locals() 数据结构相关的: set() list() dict() int() float() tuple() bool() complex() 和字符串相关的: str…
######################################################### # 装饰器 # 装饰器非常重要,面试Python的公司必问, # 原则:开放封闭原则 # 开放封闭原则,适用于对已经固定的额功能,和源码,这个原则是为了程序的稳定性, # 开放就是对已经有的功能的拓展是开放的, # 封闭就是对已经有的功能是不改动的, ###############    装饰器的初成和开放封闭原则    ############## # 需求:计算程序执行的时间,…
###############    协程    ############## # 协程 # 小知识点, # 协程和进程和线程一样都是实现并发的手段, # 开启一个线程,创建一个线程,还是需要开销, # 协程 # 协程本质上是一个线程, # 什么是协程:能够在多个任务之间切换来节省一些IO时间, # 不需要再浪费线程之间的切换了,只需要做程序之间的切换, # 程序任务之间的切换也是需要消耗时间,但是开销远远小于进程线程之间的切换, # from greenlet import greenlet…
###############   线程和GIL,全局解释器锁    ############## """ 线程 为什么会有进程? 主要是能够同时处理多个任务,多个任务还要进行切换,时间片轮转 为什么会有线程? 进程并不是执行任务的最小单元,每一个进程里面有都一个线程,我们叫做主线程, 早期没有线程,一个进程只能干一个任务,如果有多个任务,只能多起进程,进程太多不行的, 进程内部的内存是共享的,所以需要线程,否则还要涉及到进程间的通信,这比较浪费资源 所以线程的出现解决了两个…
###############    迭代器    ############## """ 迭代器 这是一个新的知识点 我们学习过的可以迭代的对象有哪些? list str dict 元组 文件 集合 range() enumerate 为什么可以被循环? """ print(dir([])) # dir可以查看这个数据类型所有的方法 """ ['__add__', '__class__', '__contains__…
###############    函数的定义调用,返回值和返回值接收    ############## def mylen(): s = "myname" i = 0 for item in s: i += 1 return i def func(): return {"name":"andy"},[1,2,3] l = mylen() print(func()) # 从这个例子可以学到几个:函数的定义,函数的调用,函数的返回值, # 关于…
一.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩. 二.四个可以实现自省的函数(下列方法适用于类和对象) 1.hasattr(object,name) 判断object中有没有一个name字符串对应的方法或属性 2.getattr(object, name, default=None)…
os.mkdir和os.mkdirs的区别? 前者如果"中间路径"不存在,会抛出异常,后者则会自动创建中间路径. map(function, iterable) 对于可迭代函数```iterable```中的每一个函数,执行```function```,并将结果作为list返回.可以说,```map(f, iterable)``` **基本等价于** ``` [f(x) for x in iterable]``` >>> def add100(x): ... retu…
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> print(name.title()) Ada Lovelace 将字符串全部变成大写 >>> print(name.upper()) ADA LOVELACE 将字符串全部变成小写 >>> print(name.lower()) ada lovelace 合并字符串…
一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 country = '中国' def __init__(self, name): # 普通字段 self.name = name # 直接访问普通字段 obj = Province('河北省') print obj.name # 直接访问静态字段 Province.country 由上述代码可以看出[普通字段需…
1.python是解析型语言. 有点像javaScript在html运行一样,不需要mian函数入口,随时随地定义函数,执行函数, 执行语句,定义类型 2.python能面向对象 3.python使用地址计数器,如 a = 1 b = 1 ida = id(a) idb = id(b) ida是等于idb的,就是说他们的内存地址一致,指向1这个int变量 3.del语句可以直接释放资源,变量名删除,引用计数减1, 如 2 中,1这个int实际上是由a和b引用的,,即“1”由两个引用,del a…