Python

1、枚举类型:http://www.cnblogs.com/ucos/p/5896861.html

2、随机数生成(random模块):http://www.cnblogs.com/sanghai/p/6243527.html

    补充:1、random.randrange()返回一个整数类型

 

3、Python格式化字符串:http://c.biancheng.net/cpp/html/1844.html

4、Python编码问题    :http://www.cnblogs.com/Ceciliamumu/p/7681644.html

5、字符串:http://www.cnblogs.com/chenhq/p/7680898.html

6、列表方法:http://www.cnblogs.com/DLHe/p/7685609.html

7、序列元素的引用方法:http://www.cnblogs.com/vamei/archive/2012/05/28/2522677.html 

8、 time&dealtime模块 :http://www.cnblogs.com/Infi-chu/p/7685865.html

内置函数type(), 用以查询变量的类型。

print后跟多个输出,以逗号分隔。

使用函数时,需注意传入参数的方式为值传递还是引用传递

 方法的第一个参数必须是self,无论是否用到(self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类)

 

析构函数 __del__ ,__del__在对象销毁的时候被调用,当对象不再被使用时,__del__方法运行:

构造函数__init__

class Employee:
   '所有员工的基类'
   empCount = 0
 
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
 
   def displayEmployee(self):
      print (self.Employee.empCount)

 

hasattr(emp1, 'age')    # 如果存在 'age' 属性返回 True。
getattr(emp1, 'age')    # 返回 'age' 属性的值
setattr(emp1, 'age', 8) # 添加属性 'age' 值为 8
delattr(empl, 'age')    # 删除属性 'age'

emp1.age = 7  # 添加一个 'age' 属性
emp1.age = 8  # 修改 'age' 属性
del emp1.age  # 删除 'age' 属性
 
继承多个类

class C(A, B):   # 继承类 A 和 B
你可以使用issubclass()或者isinstance()方法来检测。
issubclass() - 布尔函数判断一个类是另一个类的子类或者子孙类,语法:issubclass(sub,sup)
isinstance(obj, Class) 布尔函数如果obj是Class类的实例对象或者是一个Class子类的实例对象则返回true。

在python中继承中的一些特点:

  • 1:在继承中基类的构造(__init__()方法)不会被自动调用
  • 2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
  • 3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

调用A模块中的B类时,B的继承类C: class C(A.B)

 

类的私有属性

__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用 self.__private_methods

 

Python不允许实例化的类访问私有数据,但你可以使用 object._className__attrName 访问属性

  • _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

  • __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

#用一个数字x乘以一个序列会生成新的序列。在新的序列中,原来的序列将被重复x次,这就是序列中的乘法。例子如下:
2 >>>8*[8]
3 [8,8,8,8,8,8,8,8]
4 >>>3*'hello'
5 'hellohellohello'

l = list('fsdf')   会输出‘f’,'s','d','f'

为了检查一个值是否在序列中,Python为我们提供了in运算符。in运算符和前面讨论过的运算符有些不同。in运算符用于检测某个条件是否为真,检测结果为真返回True,结果为假返回False。这种运算符称作布尔运算符,返回的真值叫做“布尔值
12 >>> numbers=[1,2,3,4,5]
13 >>> 1 in numbers
14 True



 

Python内置类属性

  • __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
  • __doc__ :类的文档字符串
  • __name__: 类名
  • __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
  • __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
posted @ 2017-10-17 15:32  萌新上路  阅读(129)  评论(0编辑  收藏  举报