【有书共读11】零压力学Python读书笔记13


# 类和对象2
class Cat:
    pass
# 获取类的有关信息
help(Cat)

# python中的重载
"""
python中其实实现重载还是非常简单的,只要判断传入的数据类型。
然后根据类型的不同来采取不同的处理即可
那么如何检查数据对象的类型呢?可以使用isinstance()函数
"""   

print(isinstance("999",str))
# 很容易得到返回结果为True
# 我们来看一个例子
"""
定义一个函数my_add(),该函数接受两个参数,当传入的两个参数的类型一致且位int或者float时
返回这两个数的和,如果时字符串,则返回将字符串连接后的字符串,如果是列表,
则将后一个列表作为一元素追加到前面的列表的末尾,其它情况返回None
"""
def my_add(f,b):
	if (isinstance(f,int) and isinstance(b,int)) or (isinstance(f,float) and isinstance(b,float)):
		return f+b
	elif isinstance(f,str) and isinstance(b,str):
		return f+b
	elif isinstance(f,list) and isinstance(b,list):
		f.append(b)
		return f
	else:
		return None

print(my_add(1,2),my_add(1.2,2.4),my_add("444","222"),my_add([1,2,3,4],[1,2,3]),my_add(1,[1,22]))

# 变长参数列表
"""
定义语法如下
def function_name(*args):
	statements

说明:*args 出现在参数列表中时,意味着传入的所有参数都将塞入一个列表中,
而你在函数定义中使用args来引用这个列表
"""
def f(n,*args):
	for i in range(len(args)):# for i in range(len(args)): 这么写应该更保险
		print(args[i])

f(3,1,2,3)
f(4,1,2,3,4)

# 继承
"""
简单来说当一个类继承另一个类时,它将自动获得后者的方法和属性;对于这些方法和属性,可保持不变
也可以进行重写,一个类继承另一个类时,前者被称为子类,后者被称为父类或者超类,继承基本语法如下

class class_name(base_class):
	class_definitions

"""

class Pet(object):
	def __init__(self,name,age):
		self.name=name
		self.age=age

class Dog(Pet):
	# Dog 类继承自Pet类,已经具有name和age属性
	def speak(self):
		print(self.name,"speak")



my_Dog=Dog('lili',3)
my_Dog.speak()

# Fraction 类
"""
需要先引用:from fraction import Fraction
我们通过例子来看看它们的用途
"""
from fractions import Fraction
a=Fraction("1/2")
b=Fraction("2/3")
print(a+b)
print(type(a))
"""
上面的两条语句输出结果如下
7/6
<class 'fractions.Fraction'>

Fraction类可以准确的存储1/3这类的有理数
"""


"""
本章闲谈:
子类可以调用基类的任何方法,为此可以结合使用基类名和句点(.)表示法

class Dog(Pet):
	def __init__(self,name,age,toy):
		self.toy=toy
		pet.__init__(self,name,age)


"""









#Python##读书笔记##笔记#
全部评论

相关推荐

2025-12-22 15:25
南京工业大学 运营
点赞 评论 收藏
分享
6月down后继续尝试~【intro】我是UCL(qs&nbsp;top&nbsp;10)城市空间科学硕士,本科是211机械设计制造及自动化(有工科逻辑底子👩🏻‍💻)过去几年,我的经历有点“跨界”,但核心一直围绕着&nbsp;数据分析&nbsp;+&nbsp;空间信息&nbsp;+&nbsp;可持续发展。📍林火遥感监测的研究(发表Remote&nbsp;Sensing论文);📍在浙大某实验室和关联企业中做过与数字孪生、碳排放评估相关的项目,参与一些算法和技术文件的编写。📍python/GIS研究伦敦超低排放区政策(ULEZ)对空气质量的影响;看起来跨度有些大,我其实一直在寻找同一个方向——用数据与空间技术理解和优化真实世界。(🔎详情CV哦)【认真碎碎念】今年6月后迫于求职环境压力,我申请了部分PhD(ESG、城市交通排放、碳中和方向♻️),期间主要在充实研究能力、读文献📄、和导师🧑‍🏫沟通,也因此有一段“空窗期”,希望遇到【不介意】我处于探索发展路径的伯乐呀(福利:面试官还有机会解锁这位&nbsp;理工+人文混血体&nbsp;的有趣副业经历👾)。【意向岗位/城市】希望寻找一份能结合我背景和「兴趣」的工作。意象方向:🌍&nbsp;GIS&nbsp;/&nbsp;遥感&nbsp;/&nbsp;城市数据分析🏙️&nbsp;智慧城市、可持续发展研究🌱&nbsp;碳中和、环境数据分析、ESG政策研究(感兴趣也正学习ing)💡&nbsp;技术与策略结合的岗位,如数据顾问、其他科技方向的项目助理|解决方案|科研研究助理等等意向地点:上海&nbsp;/&nbsp;深圳&nbsp;/香港(接受Hybrid或部分远程)。希望能加入一个包容多元复合型背景、愿意给年轻人自我学习自我成长机会的团队,不介意我“跨界”的路径,更看重逻辑能力、学习力和独立思考的硬实力和软实力。
牛客96914146...:最美的牛客女孩
你觉得哪一届的校招最难?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务