复习

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. 1.django项目的创建(在CMD中)

    django项目的创建(在CMD中) 1.切换到你想要存储项目的位置,我这里保存在桌面上 cd Desktop 2.创建一个django项目,项目名叫guest django-admin startp ...

  2. phpexcel 使用说明

    下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...

  3. Ubuntu下useradd与adduser区别

    Ubuntu下useradd与adduser有所不同 1.useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个 ...

  4. read读文件

    FILE *fp=fopen("F:\\QQBrowser_Setup_DNF.exe", "rb"); fseek(fp, , SEEK_END); long ...

  5. 将数据转换成树型层级的Json格式的String

    有时候我们项目里面需要将树型关系的数据转换成Json格式的String字符串 假设数据库中的数据如下 需要转换后输出的字符串的结果如下(对应的层级的关系) [ {name:'爷爷',id:'1',co ...

  6. Zedboard搭建Linux嵌入式环境

    ZYNQ是ARM硬核和PL软核的结合体,Xillybus官方为他开发了驱动套件Xillinux,赶快将开发板投入使用吧! 本随笔参考了众多博主和官方教程:(基本上就是把官方教程翻译了一遍,呵呵:)) ...

  7. SVM问题汇总

    1.为什么要选择最大间隔分类器,请从数学角度上说明? 答:几何间隔与样本的误分次数间存在关系: 其中的分母就是样本到分类间隔距离,分子中的R是所有样本中的最长向量值 2.样本失衡会对SVM的结果产生影 ...

  8. java自定义注释

    一.什么是注释 说起注释,得先提一提什么是元数据(metadata).所谓元数据就是数据的数据.也就是说,元数据是描述数据的.就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义.而J2SE5 ...

  9. CSS 字体交互特效

    一.鼠标悬浮时,字体颜色从左到右依次变化<!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  10. python 如何编写一个自己的包

    python 如何编写一个自己的包 先写function 内容 package/wadepypk$ ls __init__.py f1.py f2.py f1.py def show(): print ...