四时宝库

程序员的知识宝库

Python | 搞懂类的继承

问题:「子类中的构造方法(__init__)使用了super函数,那么在该子类中还需要重新给该参数赋值吗?」

有那么一点点绕,没关系上代码整理下逻辑。

我有一个狗类,代码如下:

class Dog:

    num_of_dogs = 0
    
    #构造方法 - 添加实例属性,做其他的初始化工作
    def __init__(self, name, height, power, blood=100):
        self.name = name
        self.height = height
        self.power = power
        self.blood = blood
        print(f"{self.name}出生了,汪汪!")
        Dog.num_of_dogs += 1

    #狗叫
    def bark(self):
        print(f'我是{self.name},汪汪汪!')

让我们详细学习下Python类吧!

说到Python类,这可有得聊了!Python中的类是实现面向对象编程(OOP)的关键,它们让我们能够定义对象的蓝图,包括对象的属性和方法(也就是函数)。下面,我会尽量详细地给你讲讲Python类的那些事儿。


### 1. 类的定义


在Python中,你可以使用`class`关键字来定义一个类。类的定义通常包括类名、类属性和方法。


```python

class MyClass:

类和对象


文章总览图

需要了解的 10 个基本 Python 概念

1. 创建 Python 文件

从 python.org 或任何其他来源下载 Python 后,您可以通过使用

python笔记30:一个例子搞定-类设计与组合

主要内容:

  • 小目标:掌握组合
  • 主要内容:组合概念,组合优缺点,组合使用场景

1. 组合:

基本概念:一个对象使用其他对象属性及方法; 组合优点:

功能拆分,

模块化降低代码耦合度,

增加程序的扩展性

Python Turtle 使用‘类’ 画星星

import math as m
import random as rdm
import turtle as ttl
from turtle import Turtle
import turtle_snow as sn


class Pattern(Turtle):
# Pattern 继承Turtle类的所有方法
# 将画星星的方法变成Pattern的内置方法
    def draw_stars(self,x=0,y=0,r=1,heading=0):
        'x,y为星星的中心点坐标;r为中心点到角点的距离;heading为画笔的角度'
        self.color('yellow','yellow')   # 设置画笔颜色和填充颜色
        fd = 2*r*m.sin(m.radians(72))*(m.sin(m.radians(18)))/(
             m.sin(m.radians(180-36-18)))
# 根据画笔朝向角度计算画笔起点至中心点连线与Y轴夹角角度
        degree = heading + 72
# 根据中心点坐标计算画笔起点坐标
        newX = x - r*m.sin(m.radians(degree))     
        newY = y + r*m.sin(m.radians(90 - degree))
    
        self.up()
        self.setpos(newX,newY)    # 设置画笔起点坐标
        self.setheading(heading)  # 设置画笔朝向
        self.down()
        self.begin_fill()
        while True:
            self.fd(fd)
            self.left(72)
            self.fd(fd)
            self.right(144)
            if abs(self.pos() - (newX,newY)) < 1:
                break
        self.end_fill()
        self.hideturtle()

# 使用Pattern
p = Pattern()
ttl.screensize(600,600,'skyblue')
p.getscreen().tracer(60,0)
for i in range(30):
    x = 300 * rdm.random() * rdm.choice([-1,1])
    y = 300 * rdm.random() * rdm.choice([-1,1])
    r = rdm.randint(6,25)
    heading = 72 * rdm.random()
# 像调用turtle的各种方法一样,调用方法draw_stars
    p.draw_stars(x,y,r,heading)

详解:Python中的 实例方法、类方法、静态方法区别与作用

前言:

今天为大家带来的内容是Python 实例方法、类方法、静态方法的区别与作用,本文内容具有不错的参考意义,希望在此能够帮助到大家!

首先我们要知道的是,在Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?

这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)

简单学Python——面向对象1(编写一个简单的类)

Python是一种面向对象的编程语言(Object Oriented Programming),在Python中所有的数据类型都是对象。在Python中,也可以自创对象。

什么是类呢?类(Class)是用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

定义类的语法如下:

class 类的名称():(类的名称的首字母要大写)

Python学习 -- 类的封装

当谈及面向对象编程(Object-Oriented Programming,OOP),封装是其中的一个重要概念。封装是指将数据和方法封装在一个单一的实体中,以达到隐藏内部实现细节、提供统一接口、提高代码可维护性等目的。在Python中,类的封装是实现OOP的核心,本篇博客将详细介绍Python中关于类的封装技术。

三十二、Python类的继承与多继承详解

继承是面向对象的三大特征之一,也是实现软件复用的重要途径。Python中的继承机制是多继承机制,即一个子类可以同时有多个父类。

1.继承的语法

Python子类继承父类的语法是在定义子类时,将多个父类放在子类之后的圆括号里。语法格式如下:

class 子类名称(父类1,父类2,...):
    # 类的定义部分
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接