每天一篇python:对象篇
学习python 的对象与java的对象的使用方面有哪些不同,如何定义对象以及访问对象的属性、方法
#!/usr/local/bin/python2.7
# -*- coding:utf-8 -*-
'''
Created on 2016年3月27日
@author: damuou
@todo: 对象的学习
'''
#1: 对象的定义使用 class 关键字
from scipy.optimize._trustregion_dogleg import DoglegSubproblem
class Student():
# pass是空语句,是为了保持程序结构的完整性。
pass
#2: 对象实例化
jack = Student()
#3: 为对象属性赋值
jack.name='jack dan'
jack.age=23
jack.phone_number='10086'
#4: 对象方法的定义
class Teacher():
def teach(self):
return 'day day up'
#5: 对象方法的使用
lilei =Teacher()
print lilei.teach()
#6: 对象的构造方法
class Grade():
def __init__(self,name):
self.name='this is grade '+name
def get_name(self):
return self.name
grade_1=Grade('1')
print grade_1.get_name()
#: 解释上文中用到的self含义
'''
1:self指的是类实例对象本身
2:self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
即:self只有在类的方法中才会有,独立的函数或方法是不必带有self
'''
#7: 属性访问限制
'''
如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,
就变成了一个私有变量(private),只有内部可以访问,外部不能访问
'''
class Card():
def __number(self):
return 123456
def get_number(self):
return 7890
gongshang=Card()
# 此处会报错
#print gongshang.__number()
print gongshang.get_number()
#: 对象的继承和多态
class Animal():
def run(self):
print 'animal is running'
#dog 继承自animal
class Dog(Animal):
def run(self):
print 'dog is running'
dog_1=Dog()
dog_1.run()