1、Python: 函数+面向对象

2、函数式可以做所有的事,是否合适?

3、示例

小明,10岁,男,上山去砍柴

小明,10岁,男,开车去东北

小明,10岁,男,最爱大保健

老李,90岁,男,上山去砍柴

老李,90岁,男,开车去东北

老李,90岁,男,最爱大保健

函数式编程

#!/usr/bin/env python3.8
# -*- coding: UTF-8 -*-
# __author:smoke
# file:object_oriented.py
# time:2021/02/19

def foo(name,age,gender,content):
    print(name,age,gender,content)

foo('小明','10岁','男','上山去砍柴')
foo('小明','10岁','男','开车去东北')
foo('小明','10岁','男','最爱大保健')

foo('老李','90岁','男','上山去砍柴')
foo('老李','90岁','男','开车去东北')
foo('老李','90岁','男','最爱大保健')

/usr/bin/python3.8 /home/smoke/PycharmProjects/pythonProject/lean_python/object_oriented.py
小明 10岁 男 上山去砍柴
小明 10岁 男 开车去东北
小明 10岁 男 最爱大保健
老李 90岁 男 上山去砍柴
老李 90岁 男 开车去东北
老李 90岁 男 最爱大保健

Process finished with exit code 0

===> 参数可能不太合适

面向对象

#!/usr/bin/env python3.8
# -*- coding: UTF-8 -*-
# __author:smoke
# file:object_oriented.py
# time:2021/02/19

class Bar:
    def foo(self,name, age, gender, content):
        print(name, age, gender, content)

obj = Bar()


obj.foo('小明','10岁','男','上山去砍柴')
obj.foo('小明','10岁','男','开车去东北')
obj.foo('小明','10岁','男','最爱大保健')

obj.foo('老李','90岁','男','上山去砍柴')
obj.foo('老李','90岁','男','开车去东北')
obj.foo('老李','90岁','男','最爱大保健')

/usr/bin/python3.8 /home/smoke/PycharmProjects/pythonProject/lean_python/object_oriented.py
小明 10岁 男 上山去砍柴
小明 10岁 男 开车去东北
小明 10岁 男 最爱大保健
老李 90岁 男 上山去砍柴
老李 90岁 男 开车去东北
老李 90岁 男 最爱大保健

Process finished with exit code 0

一、定义

  函数:

    def + 函数名(参数):

  面向对象:

    class => 名字叫Bar类

    def => 名字叫foo的方法 #类里面的函数叫方法;

    #### self, #类里面写方法第一个参数必须是self;

二、执行

  函数:

    函数名(参数):

  面向对象:

    O = Bar() #创建中间人(对象,实例)

    O.foo() #调用

 

定义类并执行类中的方法:

class 类名:

    def 方法名(self,arg):

        print(arg)

中间人 = 类名()

中间人.方法名(1)