网络编程
位置:首页>> 网络编程>> Python编程>> 一篇文章带你学习python的函数与类

一篇文章带你学习python的函数与类

作者:立人楼就是我的家  发布时间:2023-10-15 05:04:18 

标签:python,函数,类

现在做的一个小项目需要用到python的相关知识,但是因为太久没用一些东西都忘掉了,因此在本篇博客中记录一下python的函数和类的基础知识,下次可以直接查阅,用的参考书是《Python编程从入门到实践》

函数

运用关键字def告诉Python要定义函数:

def greet_name():
   print("Hello!")

包含参数:

def greet_name(username):
   print("Hello, "+username.title()+"!")
  • 形参:函数完成其工作需要的一项信息

    • 默认值:每个形参可指定默认值,给形参指定默认值后可在函数调用中省略相应的实参

  • 实参:调用函数时传递给函数的信息

    • 位置实参:基于实参的顺序

    • 关键字实参:传递给函数名称-值对

def greet_name(username='zyh'):
   print("Hello, "+username.title()+"!")
greet_name()
greet_name('zyh')
greet_name(username='zyh')
  • 返回值

模块

可将函数存储在被称为模块的独立文件中(扩展名为.py的文件),再将模块导入到主程序中

import语句允许在当前运行的程序文件中使用模块中的代码

  • 导入整个模块

  • 导入特定的函数

  • 使用as给函数指定别名

  • 使用as给模块指定别名

  • 导入模块中的所有函数

from pizza import make_pizza
from pizza import make_pizza as mp
import pizza as p
from pizza import *

导入模块后可以使用句点表示法使用模块中的函数:

module_name.function_name()

根据类来创建对象:实例化

class Dog():
   def __init__(self,name,age):
       self.name=name
       self.age=age
   def sit(self):
       print(self.name.title()+ "is now sittinf")
   def roll_over(self):
       print(self.name.title()+ "rolled over!")

类中的函数称为方法

  • __init __()方法

    • 根据类创建新实例时,Python都会自动运行它,这个方法的定义中形参self必不可少,还比如位于其他形参的前面,self是一个指向实例本身的引用,让实例可以访问类中的属性和方法

根据类创建实例

my_dog=Dog('zxz',9)
  • 访问属性

  • 调用方法

  • 修改属性的值

    • 直接修改属性的值通

    • 过方法修改属性的值

继承

一个类继承另一个类,它将自动获得另一个类的所有属性和方法,原有的类称为父类,新类称为子类

class Car():
   def __init__(self,make,model,year):
       self.make=make
       self.model=model
       self.year=year
class ElectricCar(Car):
   def __init__(self,make,model,year):
       super().__init__(make,model,year)
  • 创建子类时,父类必须包含在当前文件中,且位于子类前面

  • super()是一个特殊函数,帮助Python将父类和子类相关联起来,在例子中调用了父类的方法__init() __从而让ElectricCar包含父类中的所有属性

  • 父类也称为超类(superclass)

  • 一个类继承另一个类后,可添加区分子类和父类所需的新属性和方法,同时还可以重写父类的方法,Python不会考虑父类方法,只会关注在子类定义的相应方法

  • Python允许将类存储在模块中,然后在主程序中导入所需的模块,从一个模块导入类时,可用逗号分隔各个类

来源:https://blog.csdn.net/zyhdaun/article/details/122480361

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com