当你调用这个对象的方法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

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

  1. 一文讲全了Python 类和对象内容

    摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan  . Pytho ...

  2. python 类和对象的属性

    python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性 ...

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

    上一节:Python之code对象与pyc文件(二) 向pyc写入字符串 在了解Python如何将字符串写入到pyc文件的机制之前,我们先来了解一下结构体WFILE: marshal.c typede ...

  4. python类与对象各个算数运算魔法方法总结

    1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...

  5. Python之code对象与pyc文件(二)

    上一节:Python之code对象与pyc文件(一) 创建pyc文件的具体过程 前面我们提到,Python在通过import或from xxx import xxx时会对module进行动态加载,如果 ...

  6. python类、对象

    python类.对象 学习完本篇,你将会深入掌握 什么是类,对象 了解类和对象之间的关系 能独立创建一个People(人类),属性有姓名.性别.年龄.提供一个有参的构造方法,编写一个show方法,输出 ...

  7. [Python 从入门到放弃] 6. 文件与异常(二)

    本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...

  8. python类与对象的组合与继承

    1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于“有一个”的场景中,继承用于“是一个”的场景 ...

  9. python 类和对象

    类和对象 类 1.类的组成    数据和函数,二者是类的属性 2.两个作用: 实例化 属性引用  属性引用:类名.属性(增删改查)   实例化: 类名加括号就是实例化,会自动出发__init__的运行 ...

  10. Python类和对象

    目录 类与对象 其他方法 继承 经典类和新式类 派生 组合 接口.归一化设计与抽象类 继承实现的原理 子类中调用父类的方法 指名道姓 super()方法 多态与多态性 封装 单下划线开头 双下划线开头 ...

随机推荐

  1. MySQL数据库优化总结

    对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要.一般来说,要保证数据库的效率,要做好以下四个方面的工作:数 据库设计.sql语句优化.数据库参数配置.恰当的硬件资 ...

  2. House Robber II

    https://leetcode.com/problems/house-robber-ii/ Note: This is an extension of House Robber. After rob ...

  3. BZOJ 1143 1143: [CTSC2008]祭祀river 最长反链

    1143: [CTSC2008]祭祀river Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动. ...

  4. 用eclipse创建maven项目

    Maven是基于项目对象模型(POM),也可以进行模块化开发.并且是个强大的管理工具.本经验用eclipse来创建maven项目 步骤: 1.下载并正确安装eclipse 2.在eclipse上成功安 ...

  5. 2016网易实习生编程题:数组中两个数的和等于sum

    题目 找出数组中两个数的和等于sum的这两个数 解题 这个题目做过很多次了,利用HashMap,key为 sum-A[i] value为 i 当 加入HashMap时候A[i] 已经存在map中,ge ...

  6. VBA高效删除不连续多行

    最近在搞VBA,在感叹Excel功能强大的同时,对于新接触的一门编程语言也很烦恼.很多基础的语法都要靠网上搜索.现总结一些学习到的心得. VBA高效删除不连续多行 在一个拥有几万条数据的Excel中, ...

  7. Android核心分析之二十五Android GDI之共享缓冲区机制

    Androird GDI之共享缓冲区机制 1  native_handle_t对private_handle_t 的包裹     private_handle_t是gralloc.so使用的本地缓冲区 ...

  8. mfc Clistctr 单元格嵌入图片(bmp)

    示例:http://download.csdn.net/detail/zahxz/4652543 代码: CListCtrl mCtrlist;//列表控件 CImageList m_ImageLis ...

  9. oracle服务、客户端 plsql配置

    1.oracle服务端安装 Oracle 9i 的安装(图解) 2.oracle客户端安装 http://wenku.baidu.com/view/8be28581f524ccbff0218427.h ...

  10. Combiner

    如果job 设置了 combiner ,则job的每个map运行的数据会先进入combiner,然后再通过patitioner分发到reduce.通过combiner能减少reduce的计算.空间压力 ...