【Python】类和对象、继承、使用文件、存储、异常、标准库(不懂)

当你调用这个对象的方法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)这一段,意思是ipower次方,通过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

时间: 2024-10-24 20:12:23

【Python】类和对象、继承、使用文件、存储、异常、标准库(不懂)的相关文章

python 类和对象的属性

python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性,父类和子类的类属性都会被改变. 3. 子类继承父类的类属性可以通过类名+属性名使用,但是一旦发生赋值,就会新定义一个相同名字的子类自己的类属性. 4. 类的对象可以通过对象名+属性名使用类属性,但是一旦发生赋值,就会新定义一个相同名字的对象属性,而且不会被继承. eg: >>> class

Python之code对象与pyc文件(三)

上一节:Python之code对象与pyc文件(二) 向pyc写入字符串 在了解Python如何将字符串写入到pyc文件的机制之前,我们先来了解一下结构体WFILE: marshal.c typedef struct { FILE *fp; int error; int depth; /* If fp == NULL, the following are valid: */ PyObject *str; char *ptr; char *end; PyObject *strings; /* di

python类与对象各个魔法方法总结

1.python类与对象各个魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常.因此,现在我们要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串. class Nstr(str): def __sub__(self,other):  self=list(self)         other=list(other) for i in ot

python类与对象的组合与继承

1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于"有一个"的场景中,继承用于"是一个"的场景中.例如,水池里有一个乌龟,天上有一个鸟,地上有一个小甲鱼,这些适合使用组合.青瓜是瓜,女人是人,鲨鱼是鱼,这些就应该使用继承啦实例如下: class Turtle: def __init__(self,x): self.num = x class Fish: def

Python之code对象与pyc文件(一)

Python程序的执行过程 我们都知道,C语言在执行之前需要将源代码编译成可执行的二进制文件,也就是将源代码翻译成机器代码,这种二进制文件一旦生成,即可用于执行.但是,Python是否一样呢?或许很多人都听过,Python和Java都是半编译半解释的语言,那么问题来了,什么又是半编译半解释呢?这还要从C语言开始说起 比方我们现在有一段C语言写成的程序,我们在一台Linux服务器上编译好了,生成可执行的二进制文件,可是我现在想要在一台Windows的机器上执行这个文件,这是不可能的,原因是因为不同

(二十二)类与对象 ---- 继承

什么时候用继承? 1.当类之间有显著不同,且较小的类是较大的类的组件时,用组合比较好 比如机器人类是一个大类,躯干类.胳膊类.腿类是小类 2.当类之间有很多相同的属性与功能,提取这些共性作为基类,用继承比较好 比如鸡和鸭,我们可以提取他们的共性(两只翅膀.用两只脚走路)做一个禽类,但是他们也有各自独特的个性(鸡会打鸣,鸭会游泳) class qing(): #共性提取为一个基类(禽类) wing = 2 #父类数据属性 def __init__(self,owner): self.owner =

Python 类与其对象的创建和应用

1.创建新类Athlete,创建两个唯一的对象实例sarah james,他们会继承Athlete类的特性 >>> class Athlete: def __init__(self,a_name,a_dob=None,a_times=[]): self.name=a_name self.dob=a_dob self.times=a_times >>> sarah=Athlete('Sarah Sweeney','2002-07-02',['2:58','2.34','1

python类和对象-扩展

1.为类或对象动态创建属性或方法 2.__slots__ = ('name','age'),[实例]只能创建指定的属性属性或方法 ---新式类 3.执行父类的构造函数的不同Father.__init__(self) --经典类super(Son,self).__init__() --新式类 4.Person.__bases__ 只会显示一层继承的所有父类5.__call__ __call__ 一个已经实例化的对象p,在调用p()6.python中一切都是对象,类本身也是对象,类是由type产生的

Python 类和对象-上

#类和对象 class Human: #属性 -> 成员属性(变量) ear = 2 mouth = 1 sex = 'man' age = 28 name = 'zhangwang' married = False color = 'yellow' #特征 -> 成员方法(函数) def walk(self): print('直立行走') def eat(self): print('吃饭') def sleep(self): print('睡觉') def playgame(self): p

python类和对象理解

类的概念 类(class)抽象的概念,比如说人类.鸟类.水果.是一个总的称呼,没有具体到某个物体: 对象(object,指具体实例,instance): 类定义的语法: class 类名: 执行语句 类变量 类方法 类最重要的两部分就是类变量和类方法,类成员之间的可以相互调用. 程序可以在类中给新变量赋值就是增加类变量,可以通过del语句删除已有类的变量. 在__init__构造函数(构造函数后面会说到)里面的是实例变量,程序可以任何位置(类里面或者类外面)增加实例变量,删除则用del语句. 在