复习

1.类定义
函数--方法--动态属性
必须传self
变量--类属性--静态属性
__init__方法--初始化方法
2.实例化
1.使用:对象 = 类()
2.实例和对象没有区别
3.对象调用方法

学习内容

1.类中的静态变量,可以被对象和类调用
2.对于不可变数据类型,类变量最好用类名操作
3.对于可变数据类型,对象名的修改是共享的,重新赋值是独立的
4.认识绑定方法
5.面向对象的三大特性:继承,多态,封装
6.组合: 一个对象的属性值是另一个类的对象

代码区

1.正方形周长和面积

class Square:
def __init__(self,side_len):
self.side_len = side_len
def perimeter(self):
return self.side_len * 4
def area(self):
return self.side_len **2

2.创建一个类,每次实例化时,纪录实例信息

class Food:
catagory = {}
def __init__(self,kind,calorie):
self.kind = kind
self.calorie = calorie
Food.catagory.setdefault(self.kind, self.calorie)
a1 = Food('carrot',110)
a2 = Food('meat',1000)
print(a1.catagory)
print(Food.catagory)

3.圆环面积周长,组合的方式

from math import pi
class Circle:
def __init__(self,radius):
self.radius = radius
def area(self):
return self.radius**2*pi
def perimeter(self):
return 2*pi*self.radius class Ring:
def __init__(self,outside_r,inside_r):
self.outside_r = outside_r
self.inside_r = inside_r
self.outside_c = Circle(outside_r)
self.inside_c = Circle(inside_r)
def area(self):
return self.outside_c.area() - self.inside_c.area()
def perimeter(self):
return self.outside_c.perimeter() + self.inside_c.perimeter() r1 = Ring(2,1)

4.老师-生日 类的组合

import time
class Teacher:
def __init__(self,name,age,birthday):
self.name = name
self.age = age
self.birthday = birthday
self.course = Course('language',2000)
class Birthday:
def __init__(self,year,month,day):
self.year = year
self.month = month
self.day = day
class Course:
def __init__(self,name,price):
self.name = name
self.price = price b1 = Birthday(2111,2,1)
a1 = Teacher('alex', 'Language',b1)
print(a1.birthday.year)
print(a1.course.price)

python之路——23的更多相关文章

  1. 【python之路23】递归

    1.递归的基础 举例说明:老师要班里坐在最后的一排学生要一本书,老师对前面的人说你向最后一排的同学要一本书,那么最前面的人跟坐在第2排的人说,第2排的人跟第3排的人说,当命令传递到最后一排时,最后一排 ...

  2. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  3. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  4. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  5. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  6. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  7. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  8. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  9. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

随机推荐

  1. Java课程----自我介绍

      我是一名信息院的学生,今年今日是大二下学期,马上就要大三了,自己对于专业的认知还是太浅.主要是因为之前的大学生活特别懒散,并不积极向上.但是我想说的是,我们大学生,一定不要碌碌无为,要有所作为.我 ...

  2. 关于django用户登录认证中的cookie和session

    最近弄django的时候在用户登录这一块遇到了困难,网上的资料也都不完整或者存在缺陷. 写这篇文章的主要目的是对一些刚学django的新手朋友提供一些帮助.前提是你对django中的session和c ...

  3. linux防火墙设置常用命令

    1.永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2.即时生效,重启后复原 开启: service iptabl ...

  4. php 后知后觉

    1.$this :动态调用,指当前对象 通过一个例子,说明一下我当时的心理历程: /** * 父类 */ class A { function show() { echo $this->msg( ...

  5. 【leetcode】475. Heaters

    problem 475. Heaters solution1: class Solution { public: int findRadius(vector<int>& house ...

  6. 初用jdbc来运行事务

    dao层 public Connection getConnection() throws Exception { Class.forName(driver); if (con == null || ...

  7. Python全栈之路----常用模块----xml处理模块

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...

  8. CSS-动画巧用translated3d

    VUE2.0单元素或组件的过渡 情景:插件从右向左滑动,巧用translate3d .food position :fixed left : 0 top :0 bottom :48px z-index ...

  9. 20155219付颖卓《网络对抗》MSF基础应用实验

    实验后回答问题 1.用自己的话解释什么是exploit,payload,encode. exploit就是进行攻击的那一步 payload是在目标主机上创建会话连接的 encode是对payload进 ...

  10. JavaScript新手入门 贪吃蛇

    从小就在玩贪吃蛇,但是知道今天自己做了一遍才知道原理的具体的实现步骤. 刚进入界面时显示开始游戏(不重要,本人比较喜欢吹毛求疵) 中间黑色部分为游戏的主要展示部分 主要步骤及源码: body中代码,红 ...