Python学习笔记(一)

感叹一下,学习Python的过程,就是在不断感叹“卧槽好厉害”,‘我去还有这种操作?’的过程。

过去的语言相比之下,变得繁复和冗余,python简洁好用的特点,震撼到了我


==================================================================================

特性1:

命名关键字

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。


优点:命名关键字可以让代码参数更清晰,简洁;

有默认参数值的函数,有了命名关键字后,更易阅读和使用

==================================================================================

特性2:

切片(Slice)操作符

>>> L[0:3]
['Michael', 'Sarah', 'Tracy']

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引012,正好是3个元素。

用法包括但不限于:取全部值 L[:],    取后十个值 L[-10:],    每五个取一次 L[::5]


优点:有了切片操作,很多地方的循环就不再需要了哈哈(一个冒号拯救世界嗷)

==================================================================================

特性3:

闭包(Closure)

def print_msg():
    # print_msg 是外围函数
    msg = "zen of python"
    def printer():
        # printer 是嵌套函数
        print(msg)
    return printer

another = print_msg()
# 输出 zen of python
another()

这里的 another 就是一个闭包,闭包本质上是一个函数,它有两部分组成,printer 函数和变量 msg。闭包使得这些变量的值始终保存在内存中。


优点:1.哪里可以访问到这个包裹,哪里就可以访问到这个自由变量;2.闭包避免了使用全局变量

==================================================================================

特性4:

作用域(private)

def _private_1(name):
    return 'Hello, %s' % name

def _private_2(name):
    return 'Hi, %s' % name

def greeting(name):
    if len(name) > 3:
        return _private_1(name)
    else:
        return _private_2(name)

我们在模块里公开greeting()函数,而把内部逻辑用private函数隐藏起来了,这样,调用greeting()函数不用关心内部的private函数细节

优点:外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。

==================================================================================

特性5:

动态语言(区别于Java的静态语言)

class Student(object):
    def __init__(self, name):
        self.name = name

s = Student('Bob')
s.score = 90

根据类创建的实例,可以任意绑定属性

优点:定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。

 

==================================================================================

特性6:

多继承

class Dog(Mammal, Runnable):
    pass

能继承多个方法和类,不解释





                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值