首页 > 编程语言 >Python基础(3)

Python基础(3)

时间:2023-07-18 17:34:12浏览次数:47  
标签:__ 父类 Python self object 基础 print pi

面向对象编程

根据类来创建对象称为实例化。这里只过一下大概的面向对象的内容,不做细讲。可以直接查阅资料。https://www.runoob.com/python3/python3-class.html

创建和使用类及实例

给出一个类的使用例子:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
    def sit(self):
        printf(f"{self.name} is now sittig.")
        
  	def roll_over(self)
		print(f"{self.name} rolled over!")
        
my_dog = Dog("willie", 6)	#实例化一个对象

注意:__init__() 是一个特殊的方法,当类创建一个新的实例时,会自动运行该方法。类似于C++里的构造函数。而self是指向实例本身的引用。每个函数默认第一个参数都是self。每个与实例相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。以 self 为前缀的变量可供类中的所有方法使用,可以通过类的任何实例来访问。

继承

在既有类的基础上编写新类时,通常要调用父类方法__init()__。这将初始化在父类__init()__ 方法中定义的所有属性,从而让子类包含这些属性。给出一个例子:

动物基类代码:

class Animal:
    def __init__(self, ptype, sound, color):
        self.ptype = ptype
        self.sound = sound
        self.color = color
        
	def get_sound(self):
        print(f"这只{self.ptype}的叫声是{self.sound}")
    
    def get_color(self):
        print(f"这只{self.ptype}的颜色是{self.color}")
        

狗派生类实现代码:

class Dog(Animal): #子类继承父类,是需要将父类放在子类括号中
    def __init__(self, ptype, sound, color):
        #初始化父类属性
        super().__init__(ptype, sound, color) #特殊方法,可以在子类中调用父类方法
        
    def get_sound(self):
        print(f"这只{self.ptype}它竟然不叫")
        
my_tesla = Dog("狗", "汪汪汪", "黑色")
my_tesla.get_color()
my_tesla.get_sound()

对于父类的方法,只要它不符合子类模拟的实物的行为,都可以进行重写。为此,可在子类中定义一个与要重写的父类方法同名的方法。这样,Python将不会考虑这个父类方法,而只关注在子类中定义的相应的方法。

导入模块

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(Allmodule)导入,格式为: import Allmodule

从某个模块中导入某个函数,格式为: from Allmodule import somefunction

从某个模块中导入多个函数,格式为: from Allmodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from Allmodule import *

使用别名导入函数,格式为: from Allmodule import firstfunc as Func

Python标准库

https://pymotw.com/3/

文件读取数据

读取整个文件

先给出一个例子,对这个例子进行解释分析。读取一个文件,内容是圆周率的后30位的数值,且在小数点后每10位处换行。

with open("pi_digits.txt") as file_object:
    contents = file_object.read()
print(contents)
#文件内容
/*
3.1415926535
  8979323846
  2643383279

*/
  • open() 在当前目录下查找指定文件。返回一个对象,用as对这个返回值起别名为 file_object
  • 关键字 with 在不再需要访问文件后将其文件对象进行关闭
  • 文件对象调用read()方法读取文件内容,当到达文件末尾时返回一个空字符串,而将这个空字符串显示出来就是一个空行

注意:可以调用 open()close() 来打开和关闭文件,但这样做时,如果程序存在bug导致方法 close() 未执行,文件将不会关闭。所以使用上面的结构读取文件时,Python会在合适的时候自动将其关闭。

删除多余的空行可以使用 rstrip() contents.rstrip()

对了open函数里既可以填写绝对路径和相对路径,这点就不说了,简单。不懂上网查。

逐行读取文件

filename = "pi_digits.txt"

with open(filename) as file_object:
    for line in file_object:
        print(line.rstrip())

注意:文件中每一行的末尾都是有一个换行符的。因此要对读取的每一行字符串内容进行删除多余的空白行,使用 rstrip()

创建一个包含文件各行内容的列表:
readlines() 从文件中读取每一行,并将其存储在一个列表中

filename = "pi_digits.txt"

with open(filename) as file_object:
    lines = file_object.readlines()

for line in lines:
    print(line.rstirp())

使用文件内容组成完整字符串:

filename = "pi_digits.txt"

with open(filename) as file_object:
    lines = file_object.readlines()

pi_string = ""
for line in lines:
    pi_string += line.rstrip()
    
print(pi_string)	# 结果为 3.1415926535 8979323846 2643383279
print(len(pi_string))	# 32

由于pi_string指向的字符串包含原来位于每行左边的空格,为删除这些空格,可使用 strip()
读取文本文件时,Python将其中的所有文本都解读为字符串。

标签:__,父类,Python,self,object,基础,print,pi
From: https://www.cnblogs.com/BrokenSnow/p/17563607.html

相关文章

  • 3.18 基础案例2.0-定位电话
    基础案例2.0-定位电话简介准备硬件图功能实现1、物联网平台开发2、设备端开发调试物联网应用开发3.1新建‘普通项目’3.2关联产品和设备3.3新建web应用3.4添加组件3.5保存预览简介本案例模拟手机通话功能,主控板上有三个按钮,RST重启按钮、BOOT下载模式按钮、KEY1自定义按钮。KE......
  • Linux基础第二章
    一、Linux基础命令二1.cat显示命令cat:显示文件内容选项效果-n显示行号包括空行-b跳过空白行编号-s将所有的连续的多个空行替换为一个空行(压缩成一个空行)-A显示隐藏字符 cat   选项   文件路径cat 选项  test.txt打开test.txt也可以同时打开多个......
  • Python中的方法重写与名称修饰
    Python中的方法重写与名称修饰今天写python系统的时候,发现父类怎么老是调用不了子类重写的方法,整了好久才发现,python的名称修饰机制,好久没写代码了,这一块知识点忘干净了,下面进行总结。在Python中,方法重写是面向对象编程中的重要概念,它允许子类对父类的方法进行重新定义以满足子......
  • 软件测试-基础阶段学习
    阶段目标  能独立针对web项目实施功能测试 一、测试介绍什么是软件测试使用技术手段验证软件是否满足需求测试主流技能功能测试自动化测试接口测试性能测试主流方向建议:功能测试+接口测试自动化测试+接口功能+性能二、测试常用分类2.1阶段划分单元测试......
  • 神经网络基础理解
    搜参搜的不够思考来源:https://www.bilibili.com/video/BV1ih411J7Kz?t=616.1&p=2中说“搜参搜的不够”在神经网络中,"搜参搜的不够"通常指的是通过随机搜索或优化算法来寻找神经网络的最佳超参数配置时,搜索空间覆盖不足的情况。神经网络的性能和效果很大程度上取决于其超参数的......
  • Python获取文件夹下文件夹的名字,并存excel为一列(方法一)
    大家好,我是皮皮。一、前言这个事情还得从前几天在Python最强王者群【东哥】问了一个Python自动化办公处理的问题,需求倒是不难,一起来看看吧。二、实现过程这里【wangning】又给了一个答案,他自己之前整理的文章,不过需要自己稍微修改下才行。后来【魏哥】看到了,并且给出了如下......
  • 零基础入门——从零开始学习PHP反序列化笔记(二)
    魔术方法魔术方法介绍__construct()触发时机:实例化对象之前构造函数,在实例化一个对象的时候,首先会去自动执行的一个方法;<?phpclassUser{public$username;publicfunction__construct($username){$this->username=$username;echo"......
  • 如何使用python计算复杂三角函数
    当涉及到计算复杂的三角函数时,Python提供了强大的数学库和函数来帮助我们进行计算。在本篇博客中,我将介绍如何使用Python来计算复杂的三角函数。首先,我们需要导入Python的math模块,它提供了许多数学函数和常量。你可以使用以下代码导入math模块:importmath接下来,让我......
  • Python pandas.DataFrame.iat函数方法的使用
    DataFrame.iat按整数位置访问行/列对的单个值。与iloc类似,两者都提供基于整数的查找。如果只需要在DataFrame或Series中获取或设置一个值,则使用iat。Raises:当整数位置超出界限时抛出IndexError例子:>>>df=pd.DataFrame([[0,2,3],[0,4,1],[10,20,30]],.......
  • python 声波 通信 源代码
    Python声波通信简介在现代科技发展的今天,我们已经习惯了通过网络进行通信,例如使用电子邮件、即时通讯应用或者社交媒体。但是,除了这些常见的通信方式之外,还存在一种古老而有趣的通信方式,那就是声波通信。声波通信是利用声音波动传播的特性进行信息传递的一种方式。通过将信息转化......