python(6)

6.1 面向对象编程:OOP相信学过编程的就会了解它有多重要了。当然c什么的就算了

实际上面向对象就是把对象拥有的数据和方法封装在对象里面,由对象调用。    面向对象最重要的是类,一个类可以派生出类对象。

例如:   class Student(Obiect)代表学生类。Object表示Student类是从最大的类Object类继承而来的。  创建好类就可以实例化类,也就是创建类对象。例如:   loutao = Student()  就创建好了一个对象loutao。可以自由地给类对象绑定属性。例如:loutao.name = '娄涛' loutao.age = 21  强制绑定属性的方法:__init__  方法,例子:  class Student(object):     def __init__(self,name,score):         self.name=name         self.score=score     def print_score(self):         print self.score  loutao=Student('lt',100)  print loutao.name  print loutao.print_score()

6.2 访问限制:废话不多说,整一个例子:  class Student(object):  def __init__(self,name,score):   self.__name=name   self.__score=score  def print_name(self):   print self.__name  loutao=Student('lou',90)  print loutao.__name   #这样是不行的,因为name私有不能从外部访问  print loutao.print_name()  #这样可以,print_name共有,可以从外部访问    想要从外部修改name,可以写一个set_name方法,对象调用传入名字参数即可。  def set_name(self,name):   self.__name=name  从外部修改还有一个好处,就是限制输入格式,避免不必要的乱输入

6.3 继承和多态  继承:可以调用父类里面的方法。  多态:  从父类(基类、超类)  class Animal(object):  def run(self):   print 'Animal is running'  class Dog(Animal):   def run(self):    print 'Dog is running'   #当Dog有自己的run方法时,先调用自己的run而不是父类的  class Cat(Animal):   pass  def run_twice(animal):    #方法的参数可以是类,也可以是对象,只要能够调用方法。   animal.run()  myDog=Dog()  print run_twice(Animal())  print run_twice(Dog())  print run_twice(myDog)

6.4 获取对象类型type()。

python(6)的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. MapReduce编程系列 — 3:数据去重

    1.项目名称: 2.程序代码: package com.dedup; import java.io.IOException; import org.apache.hadoop.conf.Configu ...

  2. MySQL复制应用中继日志解析

    前言:SQL线程应用中继日志,在binlog_format是row格式的时候,是居于主键更新,下面结合一张图来证明 1.从一个大神那边得到一张图片,SQL线程应用中继日志流程,下面就实验验证一下:(P ...

  3. 高难度(1)什么是AR

    在介绍增强现实(AR)之前,需要先说说虚拟现实(VR) 虚拟现实是从英文Virtual Reality 一词翻译过来的,简称VR.VR 技术是采用以计算机技术为核心的技术,生成逼真的视.听.触觉等一体 ...

  4. bzoj题解

    bzoj1012 线段树水题 bzoj1207 LIS水题 bzoj2190 挡住,即 bzoj1601 已被删除的水题? bzoj1607 线段树细节题,搞清楚特判即可 bzoj1008 快速幂妥妥 ...

  5. less 能加快css编写?

    真心不知道用了less之后,怎么能让css写的更快.有时你定义了变量还得回到开头去看看.关键是定义的变量在css不停的修改中会变得没什么用. 用了之后没觉得会加快,感觉让我更加郁闷,求各位大神指点指点 ...

  6. Self-Paced Training (2) - Docker Fundamentals

    Agenda- Building Images Dockerfile Managing Images and Containers Distributing Images on Docker Hub ...

  7. 如何从Linux源码获知版本信息

    /*************************************************************************** * 如何从Linux源码获知版本信息 * 声明 ...

  8. PHPUNIT 单元测试

    在windows上的安装可以参考其手册 首先下载phpunit.phar文件 1. 为php的二进制可执行文件建立 一个目录,如C:\bin 2. 将C:\bin添加到系统环境变量中, 3. 打开命令 ...

  9. Java [leetcode 34]Search for a Range

    题目描述: Given a sorted array of integers, find the starting and ending position of a given target valu ...

  10. 学习面试题Day06

    1.字节流的处理方式 字节流处理的是计算机最基本的单位byte,它可以处理任何数据格式的数据.主要的操作对象就是byte数组,通过read()和write()方法把byte数组中的数据写入或读出. 2 ...