Python类练习

定义一个类

class Point:

'''二维坐标系中代表一个点'''

pass

print('打印Point:{}'.format(Point))

p1 = Point()

print('Point实例化为一个p1:{}'.format(p1))

打印Point:

Point实例化为一个p1:<__main__.point object at>

我们直接打印Point结果为,即Point的全名为__main__.Point

给实例p1添加属性

p1.x = 3.0
p1.y = 4.0
print('(%g, %g)' % (p1.x, p1.y))
(3, 4)
import math
distance02p1 = math.sqrt((p1.x - 0)**2 + (p1.y - 0)**2)

print('原点(0, 0)与p1之间的距离:{}'.format(distance02p1))

原点(0, 0)与p1之间的距离:5.0

def print_point(p):
print('(%g, %g)' % (p.x, p.y))
print_point(p1)
(3, 4)

定义矩形

class Rectangle:
'''代表一个矩形,矩阵属性有长度height、宽度width、角点corner'''
pass
r1 = Rectangle()
r1.width = 200.0
r1.height = 400.0
r1.corner = Point()
r1.corner.x = 0
r1.corner.y = 0
实例化一个例子r1
r1--->Rectangle---width
------------------height
------------------corner--->Point---x, y
# 定义一个矩形中心函数
def center_rect(r):
p = Point()
p.x = r.corner.x + r.width/2.0
p.y = r.corner.y + r.height/2.0
return p
center = center_rect(r1)
print_point(center)
(100, 200)
r1.width = r1.width + 50
r1.height = r1.height + 100
print('打印矩形的宽度width:{}'.format(r1.width))
print('打印矩形的长度height:{}'.format(r1.height))
打印矩形的宽度width:250.0
打印矩形的长度height:500.0
# 定义矩形宽度和高度变化的函数
def change_rect(rect, dwidth, dheight):
rect.width += dwidth
rect.height += dheight
change_rect(r1, 50, 100)
print('打印矩形的宽度width:{}'.format(r1.width))
print('打印矩形的长度height:{}'.format(r1.height))
打印矩形的宽度width:300.0
打印矩形的长度height:600.0
# def move_rect(rect, dx, dy):
# p = center_rect(rect)
# p.x += dx
# p.y += dy
# return p
# 结果: (155, 305)
# 定义一个矩形移动函数
def move_rect(rect, dx, dy):
p = Point()
p.x = rect.corner.x + dx
p.y = rect.corner.y + dy
return p
print_point(move_rect(r1, 5, 5))
(5, 5)

python022 Python3 面向对象

Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...

&lbrack;&period;net 面向对象编程基础&rsqb; &lpar;9&rpar; 类和类的实例

[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...

&lbrack;&period;net 面向对象编程基础&rsqb; &lpar;10&rpar; 类的成员(字段、属性、方法)

[.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

YTU 2602&colon; 熟悉题型——类设计( 矩形类定义【C&plus;&plus;】)

2602: 熟悉题型--类设计( 矩形类定义[C++]) 时间限制: 1 Sec  内存限制: 128 MB 提交: 183  解决: 119 题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标 ...

矩形类定义【C&plus;&plus;】

Description 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数.输入坐标的函数,以及计算并输出矩形面积的函数.要求使用提示中给出的测试函数并不得改动. Inp ...

python 面向对象进阶之元类metaclass

一:知识储备 exec exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认为globals() 参数三:局部作用域(字典形式),如果不指定,默认为local ...

Lua面向对象之二:类继承

1.类继承 ①代码 Sharp = { } --① 父类 function Sharp:new() local new_sharp = { } self.__index = self --②,self ...

js面向对象设计之class类

class 相对 function 是后出来的,既然 class 出来了,显然是为了解决 function 在处理面向对象设计中的缺陷而来.下面通过对比,来看看 class 作为 ES6 中的重大升级 ...

js面向对象设计之function类

本文仅探讨如何合理的使用 function 在 javascript中实现一个面向对象设计的类.总所周知,javascript 并不能实现一个真正意义上的类,比如 protect 比如 函数重载.下面 ...

随机推荐

用js判断页面刷新或关闭的方法

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在

第一个过滤器Filter

过滤器实现Filter接口javax.servlet.Filter package com.henau.example; import java.io.IOException; import java ...

java下文件遍历,与删除

package cn.stat.p1.file; import java.io.File; public class newfilelist { /** * @param args */ public ...

django ImageField用法

settings里的设置 PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname('__file__'))) MEDIA_ROOT = ...

ios-王云鹤 把UIdatePicker 嵌入到 UIActionSheet中

这里简单的解释一下: -(void) setUpDatePicker方法用于调用UIDatePicker -(void) DatePickerDoneClick:(id) sender方法用于实现隐藏 ...

12:集合map、工具类

一.map集合 Map:一次添加一对元素.Collection 一次添加一个元素. Map也称为双列集合,Collection集合称为单列集合. 其实map集合中存储的就是键值对(结婚证书), map ...

Zookeeper的基础

认识Zookeeper zookeeper是什么 分布式数据的一致性解决方案. Zookeeper 能做什么 数据发布和订阅(配置中心,config,disconf,diamond,appollo) ...

Node&period;js http&period;createServer 简单服务配置

基本实现: var http = require("http"); var server = http.createServer(function (req, res) { if ...

&lbrack;Swift&rsqb;字符串大小写转换,同时实现本地化或设置语言环境

在NSString中提供了3种字符串大小写转换方式:1. 转换字符串大小写2. 转换字符串大小写,并实现本地化3. 转换字符串大小写,并设置语言环境. 一. 转换字符串大小写如果只是想单纯的将字符串进 ...