【有书共读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##读书笔记##笔记#
全部评论

相关推荐

有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务