文档地址:http://sebug.net/paper/python/index.html
《简明 Python 教程》笔记-----基础知识
1、类
①.每个函数都有个self参数,代表对象,类和对象所属变量,相当于C++中的‘静态变量’和‘某对象变量’
   如果类Person
   self.name为对象变量,Person.name为类变量
class Person:
    population = 0
    def __init__(self ,name):
        self.name = name
        population = population + 1
    def __del__(self):
        population = population - 1
p = Person()
p.fuc()
p2 = Person()
P2.fuc()
 
②.__init__相当于构造函数
   __del__ 相当于析构函数
 
③.加双下划线的变量为私有变量,这是默认方式
class Person:
   def __init__(self ,name):
       self.__name = name
   def r(self):
       return self.__name
p = Person('angel')
#print p.__name "error!"
print p.r()
④.子类继承父类,不会继承私有变量,就是子类里根本没有那个变量
网上查了一下,python内部操作是,继承时对私有变量进行改名,子类再找那个变量名就换了名了,也就是没了。
  http://www.nickymouse.net/blog/2011/03/38604/
 
举例:下面代码就是错的,把__name改成name就对了。

class Person:
    def __init__(self ,name):
        self.__name = name
    def r(self):
        print self.__name

class Son(Person):
    def __init__(self ,name, num):
        Person.__init__(self, name)
        self.num = num
    def r(self):
        print self.num
        print self.__name

p = Son('angel',3)
p.r()

2、输入输出文件 

给的很少,基本的输入输出格式

文件读写:

poem = '''Programming is fun use Python! '''

f = file('poem.txt', 'w')
f.write(poem)
f.close()

f = file('poem.txt')
while True:
    line = f.readline()
    if len(line) == 0:
        break
    print line,
f.close()

储存器 Pickle:可以整块的存取数据,各种类型放一块打包

import cPickle as p

filename = 'shoplist.data'
shoplist = 234
a = 'fdsafd'

f = file(filename, 'w')
p.dump(shoplist, f) 
p.dump(a, f)
f.close()

f = file(filename)
sl = p.load(f)
print sl
sl = p.load(f)
print sl

3、异常,跟C++模式一样

import sys

try
   ...
except MyException:
   ...
except :
   ...
else:
   ...
finally:
   ...

自定义异常举例:

class ShortInputException(Exception):
    def __init__(self, length, atleast):
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast

try:
    s = 
raw_input('Enter something --> ')
    if len(s) < 3:
        raise ShortInputException(
len(s), 3)
except EOFError:
    print '\nWhy did you do an EOF on me?'
except ShortInputException, x:
    print 'ShortInputException: The input was of length %d, \
          was expecting at least %d' 
% (x.length, x.atleast)
else:
    print 'No exception was raised.'

4、Python标准库

给的很少,以后用的话还是要自己探索啊

sys模块:

   这里给了怎么使用sys.argv,在非交互模式下运行,你后面输入的东西,放在arg[]里

   比如输入 python a.py --version

   argv[0]储存当前文件名,即a.py

   argv[1]储存--version

sys模块里还有其它项目,

   sys.stdinsys.stdout,sys.stderr分别对应你的程序的标准输入、标准输出和标准错误流。

OS模块:

   一些与平台无关的功能,增强了可移植性。

   http://sebug.net/paper/python/ch14s03.html

5、更多Python内容的特殊方法

   我觉得有用的:

①.列表综合:

     代码:

listone = [234]
         listtwo = [2*i for in listone if i > 2]
         print listtwo

     输出:

[6, 8]

②.在函数中接收元组和列表

   变量前加*代表数组,可以接收元组和列表

   变量前加**代表二维数组,可以接收字典

def powersum(power, *args):
        total = 0
         for i in args:
             total += pow(i, power)
         return total

 ③.lambda形式

    代码:

def make_repeater(n):
     return lambda s: s*n

twice = make_repeater(2)

     print twice('word')
     print twice(5)

    输出:

wordword
    10

     lambda语句用来创建函数对象。

     本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。

     注意,即便是print语句也不能用在lambda形式中,只能使用表达式。

④.exec和eval语句

      exec语句用来执行储存在字符串或文件中的Python语句

>>> exec 'print "Hello World"'
       Hello World

      eval语句用来计算存储在字符串中的有效Python表达式

>>> eval('2*3')
       6

⑤.assert语句

   assert语句用来声明某个条件是真的。当assert语句失败的时候,会引发一个AssertionError

>>> mylist = ['item']
   >>> assert len(mylist) >= 1
   >>> mylist.pop()
   'item'
   >>> assert len(mylist) >= 1
   Traceback (most recent call last):
     File "<stdin>", line 1, in ?
   AssertionError

⑥.repr函数

   repr函数用来取得对象的规范字符串表示。

   反引号有相同功能

>>> i = []
   >>> i.append('item')
   >>> `i`
   "['item']"
   >>> repr(i)
   "['item']"

6、一些GUI库,python书籍,开发书籍等相关资料

   http://sebug.net/paper/python/ch16.html

   http://sebug.net/paper/python/ch16s02.html

   http://sebug.net/paper/python/apa.html

 

转载于:https://www.cnblogs.com/cykun/archive/2012/04/22/2465274.html

《简明 Python 教程》笔记-----面向对象及系统相关相关推荐

  1. 简明Python教程笔记(一)

    此文为简明Python教程笔记. 第一部分 介绍 Python特点 简单.易学--伪代码本质 免费开源--FLOSS(自由/开放源码软件) 高层语言 可移植性强--支持多平台 解释性--更易移植 面向 ...

  2. 简明Python教程(面向对象)

    前言:学习<简明 Python 教程>Swaroop, C. H. 著 沈洁元 译 www.byteofpython.info 摘录,方便以后使用查阅. 本译本作为原书的派生作品,依照创作 ...

  3. 《简明Python教程》读书笔记

    <简明Python教程>读书笔记 开篇: 有两种方式构建软件设计:一种是把软件做得很简单以至于明显找不到缺陷,另一种是把它做得很复杂以至于找不到明显的缺陷. --C. AR. Hoare ...

  4. 《简明python教程》的学习笔记

    学习python的缘由 决心在一个这个寒假更加深入学习推荐系统之后,本来打算看数据挖掘导论或者是数据挖掘:概念与技术.不过在询问过一位学长之后,他推荐我看一看更加基础的书:集体智慧编程.该书所有的代码 ...

  5. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  6. Python学习网站(简明python教程,The Python Tutorial,Python学习笔记,啄木鸟社区)

    简明python教程(W3CSCHOOL):http://www.w3cschool.cc/python/python-tutorial.html The Python Tutorial(英文): h ...

  7. 简明python教程在线-简明python教程

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. usrbinpython#hello_world.pyprinthell ...

  8. 简明python教程-简明Python教程-中文版.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython 简明Python教程-中文版.pdf152页 本文 ...

  9. 简明python教程购买-简明python教程哪版(python看什么书)

    简明 python 教程 这书 有实体书吗 有 学习Python 用哪本书好 对于零基础入门的人来说,对于Python习还是有点懵懂的,如果有一些书籍看来引导,学起来难度也会减低很多!所以向大家推荐这 ...

最新文章

  1. Java改进的冒泡排序ImprovedBubbleSort
  2. OpenShift上的无痛集装箱化JBoss通用贷款处理
  3. tensorflow中命名空间、变量命名的问题
  4. php mysql显示到页面上_从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)
  5. 电脑重装系统后usbcleaner怎么格式化u盘
  6. 分享美容美发预约下单小程序开发制作功能介绍
  7. 洛谷P4707 重返现世 kMAX-MIN反演+DP
  8. IT十年人生过客-七-眉毛与恶名
  9. paddlepaddle本地环境配置
  10. 算法学习 区间dp 涂色PAINT
  11. 【Python学习 】Python实现的FTP上传和下载功能
  12. 一学就会 | 3步搞定弥散海报
  13. st7920驱动OCMJ2X8C屏使用CGRAM自定义图标
  14. CSAPP第七章家庭作业(原书第二版)
  15. [附源码]计算机毕业设计JAVA校园快递管理系统
  16. 【打卡】糖尿病遗传风险检测挑战赛
  17. ImageLoader源码解析(一)
  18. 使用idsdt制作生成显卡代码的dsdt文件驱动显卡
  19. Android11 添加输入法并且设置默认
  20. c语言设计的笔记本电脑配置,适合设计师用的笔记本

热门文章

  1. DataSet数据导入到Excel
  2. 当卷积层后跟batch normalization层时为什么不要偏置b
  3. 数据结构上机实践第八周项目6- 猴子选大王(数组版)
  4. Java nginx 双向ssl_nginx配置ssl双向验证 nginx https ssl证书配置
  5. C++ 常见错误(03) —— cout输出图像路径
  6. z17mini android 8,努比亚Z17mini和荣耀8哪个好?努比亚Z17mini与华为荣耀8全面区别对比评测...
  7. 使用说明_无线投屏器使用说明教程
  8. untubu安装mysql_简单操作阿里云untubu服务器并且配置LAMP环境
  9. fopen文件路径怎么写_php的多功能文件操作类
  10. java calendar 时分秒_Java中Calendar类的常用方法(对时间进行计算的类)