Python 入门(二)

1、函数的使用

# 语法:函数以 def 为标记, 
def a(b):
    b = 2
    return b

# 可以用 *params 传递多个实参
In [94]: def a(b):
    ...:     b = 2
    ...:     return b
    ...: 

In [95]: a(c)
Out[95]: 2

In [96]: c
Out[96]: 3

In [97]: def b(*c):
    ...:     for i in c:
    ...:         print(i)
    ...:         

In [98]: b(2)
2

In [99]: b(23)
23

In [100]: b([2, 34, 56])
[2, 34, 56]

In [101]: b(2, 3, 4, 5, 7)
2
3
4
5
7

# 实参若是列表, 则在函数中对列表的修改永久有效, 若不想让函数修改列表, 可以利用切片的方式传给函数一个副本
In [102]: def a(b):
     ...:     b[0] = 1
     ...:     return b
     ...: 

In [103]: c = [2, 3, 4]

In [104]: a(c)
Out[104]: [1, 3, 4]

In [105]: c
Out[105]: [1, 3, 4]

In [108]: d = [2, 3, 4]

In [109]: a(d[:])
Out[109]: [1, 3, 4]

In [110]: d
Out[110]: [2, 3, 4]

2、类的创建及使用

类的创建

In [131]: class A(): # 类的首字母记得大写
     ...:     '''测试类''' # 这里编写文档字符串, 对这个类的功能作描述
     ...: 
     ...:     # 我们创建 A 的实例时,Python 将调用 A 的 __init__ 方法
     ...:     # self 不能少
     ...:     def __init__(self, a, b, c):
     ...:         '''初始化属性'''
     ...:         print('__init__')
     ...:         self.a = a
     ...:         self.b = b
     ...:         self.c = c
     ...:         self.d = 0 # 默认属性
     ...:     
         ...:     # 记得加上 self , 不然会报错 takes 0 positional arguments but 1 was given 
     ...:     def bFunction(self): 
     ...:         print('b function')
     ...:     
     ...:     def cFunction(self):
     ...:         print('c function')

类的使用

In [132]: a = A(1, 2, 3)
__init__

In [133]: a.a
Out[133]: 1

In [134]: a.b
Out[134]: 2

In [135]: a.c
Out[135]: 3

In [136]:  a.d
Out[136]: 0

In [137]: a.bFunction()
b function

In [138]: a.cFunction()
c function

# 修改属性的值
In [139]: a.a = 10

In [140]: a.a
Out[140]: 10

3、继承

In [131]: class A(): # 类的首字母记得大写
     ...:     '''测试类''' # 这里编写文档字符串, 对这个类的功能作描述
     ...: 
     ...:     # 我们创建 A 的实例时,Python 将调用 A 的 __init__ 方法
     ...:     # self 不能少
     ...:     def __init__(self, a, b, c):
     ...:         '''初始化属性'''
     ...:         print('__init__')
     ...:         self.a = a
     ...:         self.b = b
     ...:         self.c = c
     ...:         self.d = 0 # 默认属性
     ...:     
     ...:     # 记得加上 self , 不然会报错 takes 0 positional arguments but 1 was given 
     ...:     def bFunction(self): 
     ...:         print('b function')
     ...:     
     ...:     def cFunction(self):
     ...:         print('c function')
     ...:         

# 继承的方式
 In [159]: class B(A):
              # g 有默认值, 可以不传这个参数值
     ...:     def __init__(self, a, b, c, d, e, f, g = 778):
     ...:         print('B __init__')
                  # 初始化父类的属性
     ...:         super().__init__(a, b, c)
     ...:         self.d = 10086
     ...:         self.e = e
     ...:         self.f = f
     ...:         self.g = g
     ...:         self.h = 100
     ...:     # 子类重写父类的方法
     ...:     def cFunction(self): 
     ...:         print('B c_function')
     ...:     
     ...:     def dFunction(self):  
     ...:         print('B d_function')
     ...:     
     ...:     def eFunction(self):
     ...:         print('B e_function')

# 先初始化子类的 __init__ 方法,再调用父类的 __init__ 方法
In [160]: b = B(1, 2, 3, 4, 5, 6, 7)
B __init__
__init__

# 子类有重写父类的方法则调用父类的方法
In [163]: b.cFunction()
B c_function

In [164]: b.dFunction()
B d_function

4、文件

http://blog.csdn.net/ztf312/article/details/47259805

5、异常

http://www.cnblogs.com/fnng/p/3518202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值