1. Python 函数
函数是一种仅在调用时运行的代码块。你可以将数据(称为参数)传递到函数中,
函数可以把数据作为结果返回。
1.1 函数定义:
函数使用def定义,
例如 def my_fuc(param):
print("param value:{}", str(param))
1.2 函数调用:
函数使用函数名称,加上后面的括号调用,例如 my_fuc('test1')
1.3 参数 :
信息可以作为参数传递给函数。
参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。
# 带有默认值的参数
def my_fuc1(var1=33,var2='test1'):
print("value is {}".format(str(var1) + var2) )
return {var1,var2}
y = my_fuc1()
print(y)
# 传入list参数,您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
def my_fuc2(list):
for v in list:
print(v)
list = ['t1','t2',43,89.9]
my_fuc2(list)
#关键字参数 :您还可以使用 key = value 语法发送参数。参数的顺序无关紧要。
def my_keyValue(var1,var2):
print("my_keyValue is {}".format(var1 + var2))
my_keyValue(var1=23,var2=45)
# 任意参数:如果不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。这样,函数将接收一个参数元组,并可以相应地访问各项:
def my_noNumParm(*var):
print("param1 is {}".format(var[1]))
my_noNumParm('test1',88,90.11)
1.4 函数返回:
如需使函数返回值,请使用 return 语句:
def my_fuc1(var1=33,var2='test1'):
print("value is {}".format(str(var1) + var2) )
return {var1,var2}
y = my_fuc1()
print(y)
1.5 pass 语句
函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误.
#pass 语句:函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误。
def my_pass(var):
print("my_pass:{}".format(var))
pass
1.6 递归
递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问 数据以达成结果。
# 递归调用
def my_recursion(var):
if (var > 0):
print("my_recursion is {}".format(str(var)))
result = var + my_recursion(var - 1)
else:
print("end calc")
result = 0
return result
my_recursion(8)
2. Python Lambda
lambda 函数是一种小的匿名函数。
lambda 函数可接受任意数量的参数,但只能有一个表达式。
Lambda函数在Python中的用途广泛,它们不仅简化了代码,还提高了代码的可读性和可维护性,特别是在处理复杂的数据结构和算法时
2.1 Lambda 语法:
lambda arguments : expression
# lambda 函数
l = lambda a, b : a * b
print(l(5, 6))
3. Python 类/对象
Python 是一种面向对象的编程语言。
Python 中的几乎所有东西都是对象,拥有属性和方法。
类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。
3.1 创建类
使用 class 关键字创建类
class testClass:
methodName = 'test123'
3.2 创建对象:
p1 = testClass()
print(p1.methodName)
3.3 __init__() 函数
要理解类的含义,我们必须先了解内置的 __init__() 函数。
所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。
使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作.
每次使用类创建新对象时,都会自动调用 __init__() 函数,
提示:self 参数是对类的当前实例的引用,用于访问属于该类的变量。
class MyCar:
def __init__(self, color,typeName):
self.color = color
self.typeName = typeName
car = MyCar('BLUE','BMW')
print(car.color)
print(car.typeName)
3.4 对象方法
对象也可以包含方法。对象中的方法是属于该对象的函数
class MyCar:
def __init__(self, color,typeName):
self.color = color
self.typeName = typeName
def showMyCar(self):
print("car color:{},car type:{}".format(self.color,self.typeName))
car = MyCar('BLUE','BMW')
car.showMyCar()
3.5 self参数
self 参数
self 参数是对类的当前实例的引用,用于访问属于该类的变量。
它不必被命名为 self,您可以随意调用它,但它必须是类中任意函数的首个参数:
class MyCar:
def __init__(self, color,typeName):
self.color = color
self.typeName = typeName
def showMyCar(test):
print("car color:{},car type:{}".format(test.color,test.typeName))
car = MyCar('BLUE','BMW')
car.showMyCar()
3.6 pass 语句
类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误。
Class Tv
pass
3.7 修改删除操作
修改对象car的属性:car.color='BLACK'
删除对象car的属性: del car.color
删除对象car del car
4. Python 继承
继承允许我们定义继承另一个类的所有方法和属性的类。
父类是继承的类,也称为基类。
子类是从另一个类继承的类,也称为派生类。
4.1 创建父类:
任何一个类都可以是父类;
class MyCar:
def __init__(self, color,typeName):
self.color = color
self.typeName = typeName
def showMyCar(test):
print("car color:{},car type:{}".format(test.color,test.typeName))
car = MyCar('BLUE','BMW')
car.showMyCar()
4.2 创建子类:
要创建从其他类继承功能的类,请在创建子类时将父类作为参数发送:
class OtherCar(MyCar): pass
注意:如果您不想向该类添加任何其他属性或方法,请使用 pass 关键字。
这样子类 OtherCar 就具有和父类一样的属性和方法了。
4.3 添加_init_()函数
当添加 __init__() 函数时,子类将不再继承父的 __init__() 函数。
注释:子的 __init__() 函数会覆盖对父的 __init__() 函数的继承。
如需保持父的 __init__() 函数的继承,请添加对父的 __init__() 函数的调用:
class OtherCar(MyCar):
def __init__(self, color, typeName, type):
self.color = color
self.typeName = typeName
self.type = type
MyCar.__init__(color, typeName)
4.4 使用 super() 函数
super() 函数,它会使子类从其父继承所有方法和属性:
用例:
class OtherCar(MyCar):
def __init__(self, color, typeName, type):
self.color = color
self.typeName = typeName
self.type = type
super().__init__(color, typeName)
oc = OtherCar('WHITH','BYD','dian')
print(oc.typeName)
print(oc.color)
print(oc.type)
4.5 添加属性
用例如4.4代码。添加type属性。
4.6 添加方法
提示:如果您在子类中添加一个与父类中的函数同名的方法,则将覆盖父方法的继承。
class OtherCar(MyCar):
def __init__(self, color, typeName, type):
self.color = color
self.typeName = typeName
self.type = type
super().__init__(color, typeName)
def showMyCar(self):
print("car color:{},car typeName:{}, type:{}".format(self.color, self.typeName, self.type))
oc = OtherCar('WHITH','BYD','dian')
oc.showMyCar()