学习笔记-phthon(2)
来源:互联网 发布:苹果手机c语言编程软件 编辑:程序博客网 时间:2024/05/24 05:26
四、进阶语法
- 介绍“对象了”,注意看哈,代码可直接执行
#!/usr/bin/env# coding:utf-8__author__="bobolnear@163.com"# self代表类的实例,而非类# 类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary def __del__(self): class_name = self.__class__.__name__ print class_name, "销毁"if __name__ == "__main__": "创建 Employee 类的第一个对象" emp1 = Employee("Zara", 2000) "创建 Employee 类的第二个对象" emp2 = Employee("Manni", 5000) emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount print "-----------邪恶的分界线----------------" #添加,删除,修改类的属性 hasattr(emp1, 'age') # 如果存在 'age' 属性返回 True。 setattr(emp1, 'age', 8) # 添加属性 'age' 值为 8 print "添加age=8后取值" , getattr(emp1, 'age') # 返回 'age' 属性的值 delattr(emp1, 'age') # 删除属性 'age' #也可以简写 推荐写法 emp1.age = 7 # 添加一个 'age' 属性 print "添加age=7后取值" , emp1.age emp1.age = 9 # 修改 'age' 属性 print "添加age=9后取值" ,emp1.age del emp1.age # 删除 'age' 属性 print "-----------邪恶的分界线----------------" #对象内置属性 print "Employee.__doc__:", Employee.__doc__ print "Employee.__name__:", Employee.__name__ print "Employee.__module__:", Employee.__module__ print "Employee.__bases__:", Employee.__bases__ print "Employee.__dict__:", Employee.__dict__
- 接下来介绍父子对象啦
#!/usr/bin/env# coding:utf-8__author__="bobolnear@163.com"class Parent: # 定义父类 parentAttr = 100 def __init__(self): print "调用父类构造函数" def parentMethod(self): print '调用父类方法' def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print "父类属性 :", Parent.parentAttrclass Child(Parent): # 定义子类 继承Parent 可以继承多个用,隔开 #__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 #self.__private_attrs。 __private_attrs = "我是私有的__private_attrs" def __init__(self): print "调用子类构造方法" def childMethod(self): print '调用子类方法 child method' def privateAttrsMethod(self): print "调用私有属性", self.__private_attrs # __private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用 # self.__private_methods def __privateMethod(self): print "调用私有函数"if __name__ == "__main__": c = Child() # 实例化子类 c.childMethod() # 调用子类的方法 c.parentMethod() # 调用父类方法 c.setAttr(200) # 再次调用父类的方法 c.getAttr() # 再次调用父类的方法 c.privateAttrsMethod()
五、初学者常见问题&小技巧
- python空格缩进格式很重要,如下图两个print空格不同报错:IndentationError: unindent does not match any outer indentation level,规范的写法用tab缩进也可以用2个或4个空格,不过我比较喜欢tab。
pycharm IDE的配色方案(Dracula-德古拉伯爵)想向我这样的同学可以看下图
在文件开头加入这句,是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
这在做项目时要注意,绝对一坑。env会自动去寻找。
#!/usr/bin/env
四、联系&感谢
本文部分代码 参考 runoob并进行测试修正
0 0
- 学习笔记-phthon(2)
- phthon学习笔记(3)
- Phthon学习笔记1
- 学习笔记-phthon(1)
- Phthon学习笔记(四):生成列表
- Phthon学习笔记(五):函数式编程
- Phthon
- phthon基础
- phthon 错误的解决
- phthon 第一天
- phthon 总结《一》
- phthon 入门1
- 生物信息 Phthon
- phthon有哪些开发工具?
- 没配Phthon运行python
- Phthon的Tuple数据类型解析
- Phthon自定义模块并导入
- phthon调用模块中的函数
- MySQL数据库乐观锁总结和实践
- VS编程内存泄漏:VLD(Visual LeakDetector)内存泄露库
- 区块链与大数据究竟有着怎样的关系?
- web服务器硬件软件配置选择
- 九度OJ-1059:abc
- 学习笔记-phthon(2)
- redhat6.5安装解nginx
- SpringBoot实践
- 数据库设计第六章简答题
- DOM操作
- 目标跟踪算法三:Modeling and Propagating CNNs in a Tree Structure for Visual Tracking (VOT2016冠军)
- iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD
- String、StringBuffer及StringBuilder的异同
- 并查集——奇偶性(Parity)