python语法基础-初始化/继承

本文深入探讨了Python中初始化和继承的基本概念与实践。初始化确保程序执行时进行必要的设置,而继承允许子类继承父类的属性和方法,增强代码复用性。文章通过实例演示了如何在子类中调用父类的方法,并解释了变量作用域和初始化过程中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python语法基础-初始化/继承

写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承)

初始化:

1.在程序执行时一定执行一次的操作

2.python中初始化init 参数第一个必须要加self

3.对变量进行赋值

继承:

子类继承父类

1.子类继承父类 直接:子类(父类)

2.子类可以调用父类方法: 子类.父类方法

 1 class Animal:              #父类animal
 2     def __init__(self,name):        #初始化父类
 3         self.name=name
 4         print("name of animal is %s"%self.name)
 5     def alive(self):            #父类方法
 6         print("%s is alive"%self.name)
 7 
 8 class Person(Animal):    #子类person 继承animal
 9     def __init__(self,name,age):    #初始化子类
10         self.name=name
11         self.age=age
12         print("my name is", name)
13         print("i am", age)
14     def work(self):             #子类方法
15         print("%s is working" %self.name)
16 
17 if __name__ == '__main__':
18     xiaoming=Person("xiaoming",18)
19     xiaoming.alive()
20     xiaoming.work()
21     dog = Animal("dag")

输出:

my name is xiaoming
i am 18
xiaoming is alive
xiaoming is working
name of animal is dag

 

额外:

1.在执行子类时 发现子类的初始化函数执行 但不执行父类初始化函数

2.子类调用父类方法时 使用的变量为子类中申明的变量

 

posted @ 2019-01-22 17:39 剑峰随心 阅读( ...) 评论( ...) 编辑 收藏
### Python 面向对象编程基础语法 #### 创建与实例化对象 Python 是一门从设计之初就支持面向对象特性的语言,因此创建和对象非常简单。定义一个新型的语句即 `class` 关键字[^1]。 ```python class Dog: """A simple example class""" def __init__(self, name): # 构造函数 self.name = name def bark(self): return f"{self.name} says woof!" ``` 在此例子中,`Dog` 有一个构造函数 `__init__()` 和一个名为 `bark` 的方法。当创建一个新的 `Dog` 对象时,会自动调用该构造函数来初始化对象属性[^2]。 #### 继承机制 子可以继承的功能并扩展或修改其行为。这允许代码重用以及建立清晰的关系层次结构。 ```python class Animal: def speak(self): raise NotImplementedError("Subclasses must implement this method") class Cat(Animal): def speak(self): return "Meow" ``` 这里展示了如何让 `Cat` 继承自 `Animal` 基础,并实现了自己的版本的 `speak` 方法。 #### 不同型的方法 在 Python 中有三种主要型的方法:实例方法、方法和静态方法。每种都有不同的用途: - **实例方法**: 接受第一个参数作为当前实例(`self`)。 - **方法**: 使用装饰器 `@classmethod` 定义;接收的第一个参数是代表本身的 `cls` 参数而不是具体的实例。 - **静态方法**: 利用 `@staticmethod` 装饰符声明;既不接受 `self` 也不接受 `cls` 参数,它们就像普通的函数一样工作,只是逻辑上属于某个特定别[^3]。 ```python from datetime import date class Person: def __init__(self, name, age): self.name = name self.age = age @classmethod def from_birth_year(cls, name, birthYear): return cls(name, date.today().year - birthYear) @staticmethod def is_adult(age): return age >= 18 ``` 在这个例子中,`Person.from_birth_year` 是一个方法,它提供了一种替代的方式来构建 `Person` 实例。而 `is_adult` 则是一个静态方法,用于判断给定年龄是否成年。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值