指定私有浮点数据域get/set方法等《python语言程序设计》2018版--第8章18题第1部分

前言

第8章并不都是字符串它还教了很多特殊方法,所以我之前一直纠结整数换字符串,或者字符串换整数,现在看来没有必要了。

另外为了满足 PEP8 将使用小写+下划线方法命名

目的

  • x,y 私有浮点数据域
  • x,y的get/set方法
  • 私有数据域radius以及它们相应的get/set方法。
  • 一个创建了一个指定x,y和radius的圆的构造方法,默认都是0.

代码段

python 复制代码
class Circle:  # 建立圆形的类
    def __init__(self, x, y, radius):  # 初始化
        self.__x = x  # x私有域
        self.__y = y  # y私有域
        self.__radius = radius  # radius私有域

    # set x,y,radius域
    def set_x(self, x):
        self.__x = x

    def set_y(self, y):
        self.__y = y

    def set_radius(self, radius):
        self.__radius = radius

    # get x,y,radius域
    def get_x(self):
        return self.__x

    def get_y(self):
        return self.__y

    def get_radius(self):
        return self.__radius
        
    def init_set(self):
        return f"圆 x:{self.__x}, y:{self.__y}, radius:{self.__radius}."
  
def main_base():
    a = Circle()
    print("默认圆函数",a.init_set()) #打印类默认的x,y,radius
    x = 100
    y = 100
    radius = 50
    b = Circle(x,y,radius)
    print("圆构造好的内容",b.init_set())

main_base()


相关推荐
带鱼吃猫1 分钟前
C++STL:从 0 到 1 手写 C++ string以及高频易错点复盘
开发语言·c++
u0109272713 分钟前
代码覆盖率工具实战
开发语言·c++·算法
码云数智-大飞6 分钟前
零拷贝 IPC:用内存映射文件打造 .NET 高性能进程间通信队列
java·开发语言·网络
懈尘9 分钟前
深入理解Java的HashMap扩容机制
java·开发语言·数据结构
Beginner x_u12 分钟前
JavaScript 核心知识索引(面试向)
开发语言·javascript·面试·八股
yqd66613 分钟前
RabbitMQ用法和面试题
java·开发语言·面试
BYSJMG14 分钟前
2026计算机毕设推荐:基于大数据的车辆二氧化碳排放量可视化分析系统
大数据·vue.js·python·mysql·django·课程设计
白日梦想家68118 分钟前
JavaScript性能优化实战系列(三篇完整版)
开发语言·javascript·性能优化
请注意这个女生叫小美18 分钟前
C语言 实例20 25
c语言·开发语言·算法
fundroid20 分钟前
Kotlin 泛型进阶:in、out 与 reified 实战
android·开发语言·kotlin