美文网首页
1.函数与面向对象

1.函数与面向对象

作者: 软件开发技术修炼 | 来源:发表于2022-01-05 01:02 被阅读0次

一、函数

func2 = lambda x,y: x+y

def func(x,y):
   return x+y

二、参数

1、位置参数,有几个位置参数就传几个,必须在关键字参数之前

def method(a,b):
  print(a)
  print(b)
method(1,23)

2、默认参数为给参数一个以上默认值k = v,调用时有默认值的参数可传可不传,必须在位置参数后

def method(a,b=5):
  print(a)
  print(b)
method(1)
method(1,3)

3、非固定参数也叫可变参数,不固定的*args,必须在位置与默认参数后

def method(a,b=2,*args):
  print(a)
  print(b)
  print(args)
method(1,23,"3","ab")  #注意,非固定参数传进来的是一个元祖
#输出:
1
23
('3', 'ab')

4、关键字参数也是不固定的,**args,在调用函数的时候使用×××=×××,传入的是一个字典,多种参数一起使用,放在最后面

def method(a=3,**args):
  print(a)
  print(args)
method(3,c=2,key=5,e=6)
#输出:
3
{'c': 2, 'key': 5, 'e': 6}

注意:参数定义顺序:位置参数、默认参数、非固定参数,关键字参数

三、全局变量与局部变量

全局变量,如果在函数中修改,需要加global关键字声明;如果是list、字典和集合的话,则不需要加global,可直接修改

局部变量

a=3
def method():
  a=4
  return a

def method2():
  print(a)

method2()
method()
method2()
#输出:
3
4
3           #实际上a并没有变化

全局变量

a=1
def method():
  global a
  a = 4
  return a
def method2():
  print(a)
method2()
method()
method2()
#输出:
3
4
4     #a的值发生了变化

列表局部变量

a=[1,3]
def method():
    a.append(5)
    return a
def method1():
    print(a)

method1()
print(method())
method1()
#输出:
[1, 3]
[1, 3, 5]
[1, 3, 5]

四、两种编程思想

  • 面向过程
    一种以过程为中心的编程思想
    简单的事情

  • 面向对象
    面向对象开发就是不断地创建对象,使用对象,操作对象做事情
    复杂地事情


  • 封装代码和数据
    是一系列可被公共使用的接口

  • 具体构造
    类, 一类事物
    方法, 类中定义的函数,对外提供的服务
    类变量, 在整个实例化的对象中是公用的
    实例引用:实例化一个对象
    实例变量:以’self.变量名‘的方式定义的变量

创建一个类
# 通过 class 关键字,进行定义了一个类
class Person:
    # 类变量
    name = "tly"
    age = 29
    gerder = 'male'

  # 构造方法,在类实例化的时候自动被调用
  def __init__(self,name,age,weight):
    # self.变量名的方式,访问的变量,叫做实例变量
    self.name = name
    self.age = age
    self.weight = weight

  @classmethod
  def eat(self):
    print(f"{self.name} is eating")

  def play(self):
    pass

# 类方法和实例方法的区别
# Person.eat() 类方法不可访问 实例方法;如何访问呢,类方法加装饰器classmethod,
zs = Person('zhangsi',31,231)
zs.eat()

# 类变量和实例变量的区别:都可以被修改
print(Person.name)
zs = Person('zhangsan',23,'男',139)
print(zs.name)

#实例化一个对象,类的实例化,创建了一个实例
zs = Person("zhangsan",21,30kg)
#类的方法
zs.set_age(28)
zs.name("hji")
zs.eat()

相关文章

  • 1.函数与面向对象

    一、函数 二、参数 1、位置参数,有几个位置参数就传几个,必须在关键字参数之前 2、默认参数为给参数一个以上默认值...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • java基础知识第十四天

    1.面向对象 (1).面向对象与面向过程的区别 面向过程就是分析解决问题所需要的步骤,然后用函数吧这些步骤...

  • 2018-10-17类和对象

    1⃣️面向对象编程 编程思想:1.面向过程编程 ---> 算法、逻辑2.函数式编程 --> 函数3.面向对象编...

  • ajax

    1. 面向对象 javascript 具有面向过程,面向对象,函数式编程的特点 javascript 重要 原型/...

  • 2、面向对象

    一、面向对象 定义:面向对象是基于面向过程的。 面向对象与面向过程比较:面向过程:面向过程是以函数为基础,完成各种...

  • day_14类和对象

    1.面向对象编程 1.1编程 1.面向过程编程---->算法,逻辑(数学逻辑)2.函数式编程---->函数3.面向...

  • 11.Python的面向对象

    1.面向对象介绍 面向过程:根据业务逻辑从上到下写代码. 面向对象:将函数与数据绑定在一起,进行封装. Pytho...

  • 2018-10-17 day14总结 类和对

    1.面向对象编程 编程思想:1.面向过程编程-->算法,逻辑(数学逻辑)2.函数式编程-->函数,模块3.面象对象...

  • Day14-总结

    1.编程思想 1).面向过程编程:算法和逻辑 3).函数式编程:函数 2).面向对象编程:类和对象 1.什么是类,...

网友评论

      本文标题:1.函数与面向对象

      本文链接:https://www.haomeiwen.com/subject/tmxhcrtx.html