python函数和面向对象

一、函数的定义

def 函数的名称 (参数) :
代码
return value

1、参数可以有多个,也可以没有。

2、return 返回一个值,如果没有return语句,函数默认返回none。

二、特殊的参数

1、可变位置参数(*args)

python 复制代码
def sum_all(*args):
    return sum(args)

result = sum_all(1, 2, 3, 4)
print(result)

输出10

2、可变关键字参数(**kwargs)

python 复制代码
def display_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

display_info(name="stl", age=21)

三、面向对象

1、类和对象

  • 类(Class):类是对象的蓝图,定义了对象的属性和方法。
  • 对象(Object):对象是类的实例,通过类创建的具体对象。

2、初始化方法和 self 参数

python 复制代码
class Dog:
    def __init__(self,name,age):
        self.name = name
        self.age = age
dog1 = Dog("hh",3)
print(dog1.age)

3、类属性

python 复制代码
class Dog:
    species = "wangwang" 

    def __init__(self, name, age):
        self.name = name 
        self.age = age    

dog1 = Dog("hh", 3)

print(dog1.species) 
print(Dog.species)   

species就是类属性,最后输出都是wangwang。

4、 对象属性

对象属性是属于对象本身的,每个对象都有自己的属性,且彼此之间独立。对象属性是通过实例化对象时在 init 方法中初始化的。上面的 name 和 age 属性,这些是 对象属性。

5、继承

python 复制代码
class Animal:
    def __init__(self, name):
        self.name = name  

    def speak(self):
        print(f"{self.name} makes a sound.")

class Dog(Animal): 
    def speak(self):
        print(f"{self.name} barks.")

dog = Dog("hh")

print(dog.name) 
dog.speak()    

输出hh breaks。

6、使用 super() 调用父类方法

python 复制代码
class Animal:
    def __init__(self, name):
        self.name = name
        self.legs = 2

class Dog(Animal):
    def __init__(self, name):
        super().__init__(name)
        
dog = Dog("hh")
print(dog.legs)

输出2,子类可以使用 super() 调用父类的方法,这样可以保留父类的方法,同时在子类中扩展或修改功能。

相关推荐
昵称画5 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
传奇开心果编程5 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
Linux_cy5 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12035 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami6 小时前
【无标题】
开发语言·python
CodeGL6 小时前
10、Python基础之进程和线程
开发语言·python
TechWayfarer7 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
2601_967980118 小时前
Python列表操作方法详解
python·数据类型·修改·列表操作·功能汇总
卡卡~~8 小时前
“101计划”核心课程实践教材《数据实验结构指导-C++语言版》题目集
开发语言·c++·学习·算法