当你调用这个对象的方法MyObject.method(arg1, arg2)
的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)
——这就是self
的原理了。
2.__init__
__init__ 方法名别写错了!
__init__ 用来定义变量的
self一定要写!! 默认带的参数!!不管你新建的函数中有没有定义参数!!
3.类和对象 (有疑问?!!__del__ 方法没有用到)
!!!!!!!!!!缩进和注释很重要啊啊啊啊!!!!!!!!!!!!!!
4.继承
输出最后加个逗号,后面继承的输出就不会换行了。
继承:类.函数名
==============================================
使用文件
注意缩进啊啊啊啊啊啊
储存取储存
写代码之前 一定要想好逻辑、设计!!!!
====================================================================
异常
1.try...except (第一个except没明白)
2.如何引发
3.假如你在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally
块来完成。注意,在一个try
块下,你可以同时使用except
从句和finally
块。如果你要同时使用它们的话,需要把一个嵌入另外一个。
====================================================
标准库(不懂) ---》 看帮助文档 还是全英文的 TAT
====================================================
1.列表综合
2.pow是求幂的函数
3.在函数中接受元组和列表 *argv和**argv
def powersum(power,*args):
print '''return the sum of each argum entraised to specified power.'''
total=0
for i in args:
total+=pow(i,power)
print total
powersum(2,3,4)
powersum(2,10)
powersum(3,10)
关于total+=pow(I,power)这一段,意思是i的power次方,通过for循环,遍历不同的i的值。我将return total换为print total,是为了让结果打印出来,如果完全按照简明中所描述的那样,是不会有输出结果,显示出来给用户的。输出的结果是:
return the sum of each argum entraised to specified power.
25
return the sum of each argum entraised to specified power.
100
return the sum of each argum entraised to specified power.
1000
下面我来分别记录一下,我对产生这两个数字的理解。25=3的2次方+4的2次方。100=10的2次方。为什么是这样的结果呢?
如简明中述,我们自定义的方法powersum有两个参数,其中一个是power,另外一个是*args。当我们第一次调用该方法时,2则为power,而后面的[3,4]则成为了*args[]中的元素,作为该方法的元组变量。因此实际操作时的代码大致为:
Powersum(2,[3,4]),通过内部的系统方法pow进行运算。I的值是从args中取出,因此第一次运算时,i的值为3,所以此时的total=3的2次方,9。第二次运算时,i的值为4,total的值为之前已经得出来的9加上现在的4的2次方,16,最终的值为25。
同样的道理,第二次使用powersum(2,10),因此其最终结果就是10的2次方。为了更好的解释这一点,我使用了第三次powersum(3,10),结果很明显的就是10的3次方,1000。
以上就是关于*args的特殊应用,关于**args的意义到底何在,当我把上述代码中的args前多加了一个*号时:
===============================================================================
4.lambda
语句被用来创建新的函数对象,并且在运行时返回它们。
5.exec
语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec
语句执行这些语句。 #有点类似print
6.assert
语句用来声明某个条件是真的。(在shell里敲)
7.repr
函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注意,在大多数时候有eval(repr(object)) == object
。