python 基础知识 二

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Python中除了内置的函数以外,还可以使用关键字def和lambda来定义

自定义一个函数,返回一个序列。序列中每个数字都是前两个数字之和(斐波那契数列)。

```py def fibs(num):

位置参数

result = [0,1]

新建列表存储数列的值

for i in range(2,num):

循环num-2次

a = result[i-1] + result[i-2] result.append(a) # 将值追加至列表 return result # 返回列表 fibs(5) ```

定义函数,打印不同方式传入的参数。

=必备参数:必备参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。

=关键字参数:函数调用时使用等号赋值的形式传入参数

=关键字参数:函数调用时使用等号赋值的形式传入参数

=不定长参数:有时可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命 名。args,kwargs:加了星号()的变量args会存放所有未命名的变量参数,args为元组,而加的变量kwargs会存放命名 参数,即形如key=value的参数, kwargs为字典。

```py def func(a=1, b=2, *args): print(a+b) print(args) # 必备参数 func(0,4) # 关键字参数 func(b=4,a=0) # 默认参数 func() # 不定长参数 func(1,2,3,4,5)

```

匿名函数

lambda来创建匿名函数。相比于普通函数而言,匿名函数只是一个表达式,函数体比def简单很多仅仅能在lambda表达式中 封装有限的逻辑进去

```py a = lambda x,y:x+y # lambda 参数:表达式 a(1,2) # 调用函数

```

面向对象

面向对象:把数据和对数据的操作方法放在一起,作为一个相互依存的整体——对象。把计算机程序视为一组对象的集合,而 每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递

面向对象的优势: -提高代码复用性。 -使程序的编码更加灵活,提高了代码的可维护性。 -提高程序的可扩展性。 -提高开发效率。

Python中创建类使用关键字class,并且具备封装、多态和继承的特点。

-封装:封装是一个概念,它的含义是把方法、属性、事件集中到一个统一的类中,并对使用者屏蔽其中的细节。

-继承:是一种创建类的方法,在现有类(被继承的类)基础上,进行扩展生成新的类,被称为子类。被继承的类称为父类、 基类、超类。

-多态:一个同样的函数对于不同的对象可以具有不同的实现。

```py

class Person(object): # class 类名(父类), 在py3中所有的类默认继承 object def init(self, age, name): # self:指实例化的对象 # init方法对象初始化时调用的方法 self.__age = age # 类属性 self.name= name def func(self): # 方法 print("my name is %s"%(self.name)) ``` 默认情况下,属性在Python中都是“public”,类所在模块和导入了类所在模块的其他模块都可以访问到。如果类中的某些属性 不想被外界访问或者继承可以对其私有化。

-在属性或方法前加上一个下划线。可以防止模块的属性用“from mymodule import *”来加载,它只可以在本模块中使 用。

-在方法或属性前加双下划线。可以实现完全私有化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋小童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值