一篇文章带你学习python的函数与类
作者:立人楼就是我的家 发布时间:2023-10-15 05:04:18
现在做的一个小项目需要用到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
猜你喜欢
- 图片文字分割的时候,常用的方法有两种。一种是投影法,适用于排版工整,字间距行间距比较宽裕的图像;还有一种是用OpenCV的轮廓检测,适用于文
- 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。回忆一下Animal类层次的设计,假设我们要实现以下4种动物:&
- 根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件
- 前言MySQL支持单机事务的良好表现毋庸置疑,那么在分布式系统中,涉及多个节点,MySQL又是如何实现分布式事务的呢?比如开发一个业务系统,
- 听说firefox是史上最好用的浏览器,便下载下来体验一番,将体验感受与大家分享一下,并和我一直使用的the world浏览器做一个对比!首
- 简介:格式:map(function,iterable,……)参数说明:function:是表示
- mysql 8.0.12 的安装,折腾了两天,遇到各种问题,现总结如下:第一步,卸载掉之前安装的MySQL,参考彻底卸载mysql 个人亲测
- 本文实例讲述了Python设计模式之外观模式。分享给大家供大家参考,具体如下:外观模式(Facade Pattern):为子系统中的一组接口
- 内置数据类型文本类型:str数值类型: int,float,complex序列类型:list,tuple,range映射类型: dict集合
- 本文提供许多的滤波方法,这些方法放在filters.rank子模块内。这些方法需要用户自己设定滤波器的形状和大小,因此需要导入morphol
- 接上篇微信小程序后端搭建:分享:Laravel 微信小程序后端搭建后端搭建好后第一件事就是用户登录认证,简单实现微信小程序登录认证1.use
- 在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表
- 前言近期在刷新生产环境数据库的时候,需要更新表中的字段,如果对每条数据结果都执行一次update语句,占用的数据库资源就会很多,而且速度慢。
- csv文件CSV文件是最常用的一个文件存储方式。逗号分隔值(Common-Separated Values,CSV)文件以纯文本形式存储表格
- 现在Web页面的交互方式越来越多样化,其中拖放页面元素也是一种很常见的操作。在这类操作当中有两个主要问题需要解决,一个是事件的注册方式,一般
- Tkinter(即 tk interface,简称“Tk”)本质上是对 Tcl/Tk 软件包的 Py
- 很多深度神经网络模型需要加载预训练过的Vgg参数,比如说:风格迁移、目标检测、图像标注等计算机视觉中常见的任务。那么到底如何加载Vgg模型呢
- 前言DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,D
- 本文讲解如何用java实现把数据库的数据写入到txt中 并实现类似下载软件的样子在网页中弹出下载.package datatest;impo
- 【尊重原创,转载请注明出处】https://blog.csdn.net/guyuealian/article/details/7967225