随笔分类 -  Python语法

摘要:首先,执行b.py。程序执行b.py就需要创建新的模块对象b,然后再执行b.py对应的字节码。 b.py第一行代码为导入a模块,因此程序会导入a模块,同时就要创建模块对象a 然后a.py又执行第一行代码,即导入b模块,此时,因为第一步的时候b模块对象已经创建,所以不再继续创建模块对象,这里进一步往下 阅读全文
posted @ 2017-03-18 21:40 道高一尺 阅读(199) 评论(0) 推荐(0)
摘要:所有的模块都有一个 __name__属性,__name__的值取决于如何应用模块 在作为独立程序运行,或者主程序时,__name__的值是__main__ 而在其他模块中导入了该模块,__name__则为该模块的名字 阅读全文
posted @ 2017-03-18 18:14 道高一尺 阅读(172) 评论(0) 推荐(0)
摘要:1 #TemperatureConversion 2 3 def c2f(cel): 4 fah = cel * 1.8 + 32 5 return fah 6 7 def f2c(fah): 8 cel = (fah - 32) / 1.8 9 return cel 10 11 #cals 12 13 import Temper... 阅读全文
posted @ 2017-03-17 08:23 道高一尺 阅读(250) 评论(0) 推荐(0)
摘要:生成器以及yield语句最初的引入是为了让程序员可以更简单的编写用来产生值的序列的代码。 以前,要实现类似随机数生成器的东西,需要实现一个类或者一个模块,在生成数据的同时 保持对每次调用之间状态的跟踪,引入生成器之后,这变得非常简单。 python之外,最简单的生成器应该是被称为协程(corouti 阅读全文
posted @ 2017-03-16 08:22 道高一尺 阅读(391) 评论(1) 推荐(0)
摘要:1 #运用python的数学函数 2 3 import math 4 5 def isPrime(n): 6 if n n: 28 return True 29 if n % i == 0: 30 return False 31 32 ... 阅读全文
posted @ 2017-03-15 08:02 道高一尺 阅读(29706) 评论(0) 推荐(0)
摘要:1 列表推导式: 2 3 >>> a = [i for i in range(10) if i % 2 == 0] 4 >>> a 5 [0, 2, 4, 6, 8] 6 7 字典推导式: 8 9 >>> b = {i:i % 2 == 0 for i in range(10)} 10 >>> b 11 {0: True, 1: False, 2: True, 3: Fa... 阅读全文
posted @ 2017-03-14 08:27 道高一尺 阅读(212) 评论(0) 推荐(0)
摘要:1 #写一个迭代器,要求输出迄今为止所有的闰年 2 import datetime as dt 3 4 class LeapYear: 5 def __init__(self): 6 self.this_year = dt.date.today().year 7 8 9 def isLeapYear(self,year): 10 ... 阅读全文
posted @ 2017-03-13 21:44 道高一尺 阅读(305) 评论(0) 推荐(0)
摘要:•如果说你希望定制的容器是不可变的话,你只需要定义__len__()和__getitem__()方法。 •如果你希望定制的容器是可变的话,除了__len__()和__getitem__()方法,你还需要定义__setitem__()和__delitem__()两个方法。 •如果说你希望定制的容器是不 阅读全文
posted @ 2017-03-11 22:48 道高一尺 阅读(240) 评论(0) 推荐(0)
摘要:1 import time as t 2 3 class Record: 4 def __init__(self,value= None,name = None): 5 self.value = value 6 self.name = name 7 8 def __get__(self,instance,owner): 9 ... 阅读全文
posted @ 2017-03-10 08:49 道高一尺 阅读(121) 评论(0) 推荐(0)
摘要:描述符就是将某种特殊类型的类的实例指派给另一个类的属性。 __get__(self, instance, owner) –用于访问属性,它返回属性的值 __set__(self, instance, value) –将在属性分配操作中调用,不返回任何内容 __delete__(self, insta 阅读全文
posted @ 2017-03-08 22:27 道高一尺 阅读(242) 评论(0) 推荐(0)
摘要:1 #定义摄氏度的一个类 2 class Celsius: 3 def __init__(self,value = 26.0):#初始化温度为26.0 4 self.value = float(value) #将温度转化为浮点数 5 6 def __get__(self,instance,owner):#定义获取摄氏温度的方法 7 ... 阅读全文
posted @ 2017-03-08 08:45 道高一尺 阅读(296) 评论(0) 推荐(0)
摘要:class Counter: def __init__(self): self.counter = 0 # 这里会触发 __setattr__ 调用 def __setattr__(self, name, value): self.counter += 1 “””既然需要 __setattr__ 调用... 阅读全文
posted @ 2017-03-05 21:40 道高一尺 阅读(2640) 评论(0) 推荐(0)
摘要:__getattr__(self,name) 当用户试图访问name,而name属性不存在时就会调用getattr __getattribute__(self,name) 当用户试图访问name时就会调用getattribute __setattr__(self,name,value)当name被设 阅读全文
posted @ 2017-03-05 13:56 道高一尺 阅读(309) 评论(0) 推荐(0)
摘要:1 import time as t 2 3 class Mytimer: 4 5 def __init__(self): 6 self.prompt = '未开始计时' 7 self.unit = ['年','月','日','时','分','秒'] 8 self.begin = 0 9 self.en... 阅读全文
posted @ 2017-03-01 22:52 道高一尺 阅读(452) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-02-26 21:07 道高一尺 阅读(356) 评论(0) 推荐(0)
摘要:__new__方法首先调用并返回一个实例化对象 阅读全文
posted @ 2017-02-26 10:12 道高一尺 阅读(463) 评论(0) 推荐(0)
摘要:1 class C: 2 def __init__(self, size=10): 3 self.size = size 4 5 def getXSize(self): 6 return self.size 7 8 def setXSize(self, value): 9 self.size = val... 阅读全文
posted @ 2017-02-25 22:03 道高一尺 阅读(678) 评论(0) 推荐(0)
摘要:1.>>> issubclass(C,A)#判断c是A的子类,返回真假 2.>>> isinstance(b1,B) #判断c1是B类的实例化对象,返回真假 3.>>> hasattr(c1,‘x’)#判断实例化对象c1是否拥有x属性,注意x要用引号,返回真假 4.>>> getattr(c1,'y 阅读全文
posted @ 2017-02-25 21:53 道高一尺 阅读(163) 评论(0) 推荐(0)
摘要:__init__特殊方法不应当返回除了none以外的任何方法。 阅读全文
posted @ 2017-02-25 11:30 道高一尺 阅读(211) 评论(0) 推荐(0)
摘要:我们常说的类指的是类定义,由于python无处不对象,所以当类定义之后,自然就成为一个类对象,在这个时候,你可以对类的属性(变量)进行直接访问,如上面的MyClass.name一个类可以实例化出无数的对象(实例对象),python为了区分是哪个实例对象调用了方法,于是要求方法必须绑定(通过self参 阅读全文
posted @ 2017-02-20 22:45 道高一尺 阅读(3974) 评论(0) 推荐(0)