os.system 输出命令结果到屏幕,返回命令执行状态
os.popen("dir").read()#会保存命令的执行结果输出 py2.7
commands
commands.getstatusoutput("dir")
#windows不好用
#linux可以 subprocess
==================================
面向对象 模板造对象 一.类的特性 1.封装
防止数据被随意修改
使外部程序不需要关注对象内部的构造(逻辑结构),只需要通过此对象对外提供的接口进行直接访问即可
 class Dog(object):

     def __init__(self,name,food):#构造函数,构造方法,==初始化方法
self.NAME = name
self.FOOD = food
self.__getj = 'big'
self.__test = ''
def sayhi(self):#类的方法(类的具体方法)
print("hello,ni shuo de dui.",self.NAME)
def get_getj(self):
return self.__getj
def eat(self):
print("%s is eating %s"%(self.NAME,self.FOOD))
def __del__(self):
print("del...run....") d = Dog("a1",'haochide')#Dog(d,"a1") #实例化后产生的对象叫实例(当前类的实例)
d2 = Dog("a2",'pi') d.sayhi()
d2.sayhi()
d.eat()
d2.eat()
print(d.get_getj()) print(d._Dog__test) def shot2():
print("buhuia") d.sayhi = shot2
d.sayhi()
# print(d.test)
2.继承
通过父类---》子类的方式 实现不同角色的共同点和不同点 以最小代码量的方式实现 类 ----》实例化----》实例对象 __init__构造函数 self.name = name #属性,成员变量,字段 def sayhi() #方法,动态属性 公有属性
在类里定义的属性,任何对象都可以访问 私有属性
__private_attr_name = value def get_heart(self) #对外部提供只读访问接口
return self.__heart r1._Role__heart 强制访问私有属性 析构方法 继承 多继承
 class Person(object):
def __init__(self,name,age):
self.name = name
self.age = age
self.sex = 'male' def talk(self):
print("person is talk",self.name) class BlackPerson(Person):
def __init__(self,name,age):
Person.__init__(self,name,age)
print(self.sex) def walk(self):
print("is walk") b = BlackPerson('liusijia',10)
b.talk()

新式类vs经典类
SchoolMember.__init__(self,name,age,sex) #经典类写法
super(Teacher,self).__init__(name,age,sex)#新式类写法 class Person(object):
super(Person) class Person:#经典类
ParentClass.__init__
 class SchoolMember(object):
'''学校成员基类'''
member = 0
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
self.enroll()
def enroll(self):
'''注册'''
print("just encolled a new school member %s"%self.name)
SchoolMember.member +=1 def tell(self):
'''个人信息'''
print('------info:%s-----'%self.name)
for k,v in self.__dict__.items():
print('\t',k,v)
def __del__(self):
print("开除[%s]..."%self.name)
SchoolMember.member -=1 class School(object):
'''学校类'''
def open_branch(self,addr):
print("openning branch in %s"%addr)
self.addr = "" class Teacher(SchoolMember,School):
'''讲师类'''
def __init__(self,name,age,sex,salary,course):
SchoolMember.__init__(self,name,age,sex) #经典类写法
super(Teacher,self).__init__(name,age,sex)#新式类写法 self.salary = salary
self.course = course
# self.enroll() def teaching(self):
print("Teacher[%s]is teaching[%s]"%(self.name,self.course)) class Student(SchoolMember):
def __init__(self,name,age,sex,course,tuition):
SchoolMember.__init__(self,name,age,sex)
self.course = course
self.tuition = tuition
self.amount = 0 def pay_tuition(self,amount):
print("student[%s]has just paied [%s]"%(self.name,amount))
self.amount += amount t1 = Teacher("a1",11,"F*M",3000,"python")
s1 = Student("a2",14,"NA","py",3000)
s2 = Student("a3",13,"NA","py",3000) print(SchoolMember.member) del s1
print(SchoolMember.member) t1.tell()
s2.tell()
3.多态
静态方法

类方法

属性方法

Python之路,day7-Python基础的更多相关文章

  1. Python之路,Day7 - Python基础7 面向对象

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  2. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  3. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  4. Python之路,Day1 - Python基础1(转载Alex)

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  5. Python之路,Day1 - Python基础1 --转自金角大王

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  6. Python之路,Day1 - Python基础1 介绍、基本语法、流程控制

    本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...

  7. Python之路Day7

    第7天主要是面向对象的内容. 学到现在越来越吃力了,从上节课开始博客就没时间写了,看看别人写的博客都那么棒.又想起了那句话比你牛逼的人都在努力,你却在放羊...唉,我写作业的效率有点低,以后得抓紧时间 ...

  8. Python之路:Python简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 ...

  9. Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  10. Python之路-初识python及环境搭建与测试(Python安装、Anaconda安装、PyCharm安装)

    一.认识Python 起源 Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻 ...

随机推荐

  1. window下安装jupyter

    1.Install [Anaconda](https://docs.continuum.io/anaconda/install#anaconda-install) 实际上安装了anaconda就已经安 ...

  2. JQ源码学习-1-无new构建

    此文章仅为个人学习 Aaron的jQuery源码分析 笔记之用. 一:采用 构造函数 返回 原型初始化方法,原型初始化方法又返回构造函数 的方式代替new 但当 返回的却是‘web’而不是Object ...

  3. DOM扩展之 专有扩展

    11.4.3 contains() 方法 用来确定某个节点是不是另一个节点的后代. 注:a.contains(a) 也是返回true.说明contains方法搜索是从自身开始的. DOM Level ...

  4. Fragment之间的通信(四)

    自定义两个fragment的布局和java类. 在mainactivity中引用布局文件 在其中的一个fragment中的控件上添加监听,获取到另一个fragment中控件的内容,展示出来完成frag ...

  5. VS2010,Qt插件安装使用

    用了几次的QtCreateor,不习惯. 果断换回VS 基本步骤: 1.安装VS2010 2.安装Qt Creator5 3.安装Qt插件 qt-vs-addin-1.2.2-opensource 就 ...

  6. 写简单游戏,学编程语言-python篇:大鱼吃小鱼

    很常见的游戏之一,实现原理并不复杂,并且参考了几个相关的代码.这边主要还是以学习编程语言和学习编程思路为重点记录一下吧.最近时间有点吃紧,只能匆忙记录一下.用pygame做的大鱼吃小鱼的游戏截图如下: ...

  7. HTML核心元素

    一 HTML核心元素 1.文本标题 <h1>一级标题</h1> <h2>二级标题</h2> <h3>三级标题</h3> ... ...

  8. Keepalived双机热备

    一,Keepalived双机热备的应用场景 1,网站流量不高,压力不大,但是对服务器的可靠性要求极其高,例如实时在线OA系统,政府部门网站系统,医院实时报医系统,公安局在线报案系统,股市后台网站系统等 ...

  9. css3 TransformZ() 3D缩放

    transformZ()函数做了一个在Z轴移动的工作,3D空间中,Z轴垂直于x-y所在平面-也就是界面所在的平面,而我们的视角正好垂直于xy平面,所以进行transformZ() 3D缩放,其实在我们 ...

  10. linux部分系统信息命令

    arch  显示机器的处理器架构9(1) uname -m 显示机器处理器架构(2) uname -r显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 hdparm-i/dev/hb ...