- 博客(18)
- 资源 (243)
- 收藏
- 关注
原创 少说话多写代码之Python学习051——类的成员(实现迭代器)
在Python类中,实现迭代器,要定义这个方法,__iter__。这个方法返回一个迭代器,其实质是带有一个next方法的对象。为形象起见,我们定义一个斐波那契数列类。如下, class MyFibs: def __init__(self): self.before=0 self.after=1 def __next__(self): ...
2018-11-27 23:41:48 976 1
原创 少说话多写代码之Python学习050——类的成员(静态方法,类成员方法,getattr,setattr)
我们在访问类的字段时,还有一些过滤的条件,类似于前端语言比如vue Js、anjularJs中过滤器的概念。在3.0以前可以使用比如,__setattr__,__getattr__的方法进行属性的过滤。在3.0以后我们如果对某些字段需要过滤访问,也可以使用这些函数。 class Rectangle2: def __init__(self): self.width=0 ...
2018-11-25 23:36:40 1153
原创 少说话多写代码之Python学习049——类的成员(property函数)
如果要访问类中的私有变量,根据面向对象原则,是不能直接访问的,这里有一个访问器的概念。将私有变量进行封装,公布出访问的方法。比如下面这样, 一个矩形类型,设置大小,然后获取大小。 class Rectangle: def __init__(self): self.width=0 self.height=0 def setSize(self,s...
2018-11-24 23:27:24 704
原创 少说话多写代码之Python学习048——类的成员(supper函数)
继承父类的构造函数,前面我们在子类的构造函数中调用:父类__init__(self),调用父类的构造函数。这种做法称之为绑定未绑定的父类构造函数。在Python3.0中可以使用supper函数 实现继承父类构造函数。 _metaclass_=type class Bird: def __init__(self): self.hungry=True def ea...
2018-11-22 23:24:12 1143 1
原创 少说话多写代码之Python学习047——类的成员(调用父类构造函数)
前面我们知道了在Python中如何继承。我们看下面的继承关系,Bird类有一个eat方法。BigBird继承了Bird,并且新增了sing方法。 class Bird: def __init__(self): self.hungry=True def eat(self): if self.hungry: print('开...
2018-11-20 23:30:01 722
原创 少说话多写代码之Python学习046——类的成员(构造函数)
构造函数是一个类里比较特殊的函数,一般即时不写构造函数,类也会默认有一个默认构造函数,比如像下面这样的, __init__ 其实是一个默认构造函数。 class Book: bookName='书名' def __init__(self): self.bookName='时间简史' b=Book() print(b.bookName) 输出 时间简史 ...
2018-11-19 23:12:11 2072
原创 少说话多写代码之Python学习045——类07(异常)
异常是程序遇到错误了,这种错误有的是已知的,可预判的。有些是未知的,莫名其妙的。 比如, s=1/0 print(s) 输出 Traceback (most recent call last): File "D:/work/Python/Class7.py", line 4, in <module> s=1/0 ZeroDivisionError: divisio...
2018-11-18 21:31:35 217
原创 少说话多写代码之Python学习044——类06(多继承)
关于继承最麻烦的就是多继承,而Python是支持多继承的。也就是说一个子类可能有两个以上的父类。 比如,如下代码,子类继承了两个类,父类的方法在子类中都可以调用。 class Programer: language='二进制' def work(self): print('程序员用%s 写代码' %(self.language)) def workDat...
2018-11-17 20:43:44 198
原创 少说话多写代码之Python学习043——类05(检查继承关系)
Python中还可以检查类的继承的关系。 比如,如下两个类,PrimaryBaLinghouStudent继承了BaLinghouStudent。 class BaLinghouStudent: name='学生' school='学校' def init(self,n,s): self.name=n self.school=s ...
2018-11-17 10:15:15 418
原创 少说话多写代码之Python学习042——类04(超类 )
来看看Python中类的继承。被继承的类称作超类。 先看一个类,定义了一个Student类,有两个属性和三个方法。 class Student: name='学生' school='学校' def init(self,n,s): self.name=n self.school=s def goSchool(self): ...
2018-11-14 22:42:22 1204 1
原创 少说话多写代码之Python学习041——类03(类命名空间 )
先看两个函数,实现一个数的平方。 def squarter(x): return x*x squarter2 = lambda x: x*x print(squarter(9)) print(squarter2(8)) 输出 81 64 调用时,squarter和squarter2可以在全局函数模块定义,也可以在局部函数中定义。这样定义的其实都可称作代码块。而我们定义的...
2018-11-11 23:17:19 907
原创 少说话多写代码之Python学习040——类02(类的函数和方法 )
在类里定义函数时的self参数,其实是方法和函数的区别。在类里定义方法时,一般都在方法里加一个默认的参数,可以是,a,c,d的。但是约定俗成就统一叫self。self表示的是 这个类的当前实例,一个类有多个实例,那么它属于自己所属于的实例,不会存在实例宁缺的self会指向实例陈皮皮。 这里比价特别的是,可以把一个普通函数绑定到方法上使用,普通函数是没有self的,看下面代码, class my...
2018-11-10 23:37:56 1109 4
原创 少说话多写代码之Python学习039——类01(如何定义类 )
在我们使用的面向对象语言中,类是一个基础单元;一个超级程序工程,其基本组成也是类。Python中如何定义一个类,我们来看看, class Person: def setName(self,name): self.name=name def getName(self): return self.name def speak(self):...
2018-11-08 22:54:30 302
原创 少说话多写代码之Python学习038——创建函数04(函数的使用 )二分法查找
二分法查找有一个重要前提,就是序列是有序的。在有序的序列中找到一个中点,然后对比目标元素在中点的哪一侧,然后依次这样查找,最终找到。逻辑非常简单。我们主要看在 Python中是如何实现的,直接看代码如下, def binarySearch(sequnce,number,lower=0,uper=None): if uper is None:uper=len(sequnce)-1 ...
2018-11-07 23:23:39 842
原创 少说话多写代码之Python学习037——创建函数03(函数的使用 )递归
前面学会了如何创建函数,至于函数参数列表的使用,函数内部作用域,函数重载等等,Python中的函数与其他语言的函数并无不同,所以这里不再说明。我们一般学习的第一门编程语言大多是C语言, 学习C语言我们每每学的都是递归,二分查找,冒泡排序以及各种排序等等。那么我们选一两样看看Python中如何实现。 看看递归和二分法查找,看看函数的使用。 递归,递归最大特点是函数自己调用自己,直到最终返回一个值,...
2018-11-05 23:36:31 805
原创 少说话多写代码之Python学习036——创建函数02(函数的注释)
下面我们看看Python中如何给函数增加注释,以及如何获取一个函数的基本信息。 因为Python是解释运行的语言,增加注释和查看函数信息都需要一些方法实现。 如下,定义了一个将字符串生成MD5的函数,并且加了注释, 然后可以通过__doc__属性和help函数来获取函数的信息。 import hashlib def genMd5(value): '生成MD5值' return ...
2018-11-04 22:49:31 237
原创 少说话多写代码之Python学习035——创建函数01(如何定义函数)
不论哪种面向对象语言,基础是类,而类的主要元素是函数。那么我们看看在Python中如何定义函数, 先看一个内建函数callable,判断函数是否可调用。 import math a=1 b=math.sqrt result1=callable(a) print(result1) result2=callable(b) print(result2) 输出 False True 学过编程的...
2018-11-03 23:07:10 893
原创 少说话多写代码之Python学习034——其他语句01(pass,del)
pass语句 pass就是什么都不做,和C#中的一个分号语句很像。 一般用作占位符,比如,这种情况,就是什么都不处理。 name=input('请输入姓名') if len(name)<3: print('做什么') elif len(name)==3: #没什么可做的 pass else: print("干点啥") del语句 看下面对两个变量...
2018-11-01 22:58:06 916
少说话多写代码之GO开发[代码]—go项目管理
2019-03-10
学学Python_51类的成员10 生成器的使用:八皇后问题
2018-12-07
学学Python_50类的成员09 生成器方法和模拟生成器
2018-12-02
学学Python_49类的成员08 生成器的使用:递归
2018-12-01
学学Python_48类的成员07 实现生成器
2018-12-01
学学Python_47类的成员06 实现迭代器
2018-11-27
学学Python_46类的成员05 静态,get,set方法
2018-11-25
学学Python_45类的成员04 property函数
2018-11-24
学学Python_44类的成员03 supper函数
2018-11-22
学学Python_43类的成员02 调用父类构造函数
2018-11-20
学学Python_42类的成员01 构造函数
2018-11-19
学学Python_41类_07 异常
2018-11-18
学学Python_40类_06 多继承
2018-11-17
学学Python_39类_05 查看类的继承关系
2018-11-17
学学Python_38类_04 超类
2018-11-14
学学Python_37类_03 类的命名空间
2018-11-11
学学Python_36类_02 类的方法
2018-11-10
学学Python_35类_01 如何定义类
2018-11-08
学学Python_34函数_创建函数04 二分法查找
2018-11-07
C#中处理多位小数精度的精度问题
2020-12-30
少说话多写代码之GO开发[代码]—通道
2019-03-03
rabbitmq测试程序(.net core)
2019-01-18
.net core 001:webapi
2019-01-13
学学Python_61程序打包01 编译安装
2018-12-25
学学Python_60标准模块8 re模块
2018-12-21
学学Python_59标准模块7 shelve模块
2018-12-18
学学Python_58标准模块6 random模块
2018-12-16
学学Python_57标准模块5 时间模块
2018-12-15
学学Python_56标准模块4 双端队列
2018-12-12
学学Python_55标准模块4 堆
2018-12-11
学学Python_54标准模块3 集合
2018-12-09
学学Python_53标准模块2 Python自带模块
2018-12-09
学学Python_52标准模块1 自定义模块
2018-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人