python笔记
二、函数与类
1.函数:Python 使用 def 关键字来声明函数,格式如下所示
def myfunc(str):
print(str)
return
myfunc("看博客的人是大帅哥") #输出看博客的人是大帅哥
1.Python 书写函数的时候是没有花括号{} 包含函数内容的,而是使用缩进的形式表示为函数内容
2.函数名后面接 冒号‘:’ 结束
3.和C#不一样 不需要指定参数类型,传入参数是是什么类型就是什么类型,如果在函数里面进行了与参数类型不符的操作则会报错 如字符串做除法: ’ dsadas‘/5
4.当我们不确定参数的个数时,可以使用不定长参数,在参数名前加 *
进行声明
def myfunc(*str):
for i in str:
print(i)
return
myfunc("我是大帅哥", '看博客的人也是帅哥',588) #依次输出我是大帅哥、看博客的人也是帅哥、588
5.当使用不确定参数函数时,实际输入的参数类型为 tuple 类型,单个参数类型还是为输入的参数类型
def myfunc(*str):
for i in str:
print(i)
print(type(i))
print(type(str)) #输出<class 'tuple'>
return
myfunc("我是大帅哥", '看博客的人也是帅哥',588)
6.与C#一样可以使用匿名函数lambda
定义匿名函数
add_lambda = lambda a, b: a + b
print(add_lambda('看博客的人', '是大帅逼'))
2.类:类的定义使用 class
关键字
1.构造方法 __init__()
会在类实例化时自动调用。无论构造方法还是其他方法都需要将 self
作为第一个参数,它代表类的实例。
2.属性与函数名称前加上__表示私有属性或私有函数,不可再外部调用
3.实例化对象的方法与C#一样 但是不需要关键词new
class MyClass:
name = 'MyClass' # 属性
__age = 18 # 私有属性
def __init__(self, a): # 构造函数
self.name = a
def __GetMyAge(self): # 私有方法 用__表示
return self.__age
def GetMyFakeAge(self):
return self.__age
cla = MyClass('我的类') #实例化对象
print(cla .name)
print(cla .GetMyFakeAge())
4.Python 支持类的继承,而且支持多继承,语法格式如下:
class MyClass:
name = 'MyClass' # 属性
__age = 18 # 私有属性
def __init__(self, a): # 构造函数
self.name = a
def __GetMyAge(self): # 私有方法 用__表示
return self.__age
def GetMyFakeAge(self):
return self.__age
class MyClass1:
def __init__(self):
pass
class Human(MyClass): # 继承MyClass,单继承
pass
class man(MyClass, MyClass1): # 继承MyClass,多继承
pass
cla = Human('我的类')
print(cla.name)
print(cla.GetMyFakeAge())
cla = man('我的类')
print(cla.name)
print(cla.GetMyFakeAge())