Python学习笔记(一)
来源:互联网 发布:mac ipython 编辑:程序博客网 时间:2024/05/31 18:59
感叹一下,学习Python的过程,就是在不断感叹“卧槽好厉害”,‘我去还有这种操作?’的过程。
过去的语言相比之下,变得繁复和冗余,python简洁好用的特点,震撼到了我
==================================================================================
特性1:
命名关键字
*args
是可变参数,args接收的是一个tuple;
**kw
是关键字参数,kw接收的是一个dict。
有默认参数值的函数,有了命名关键字后,更易阅读和使用
==================================================================================
特性2:
切片(Slice)操作符
>>> L[0:3]['Michael', 'Sarah', 'Tracy']
L[0:3]
表示,从索引0
开始取,直到索引3
为止,但不包括索引3
。即索引0
,1
,2
,正好是3个元素。
用法包括但不限于:取全部值 L[:], 取后十个值 L[-10:], 每五个取一次 L[::5]
==================================================================================
特性3:
闭包(Closure)
def print_msg(): # print_msg 是外围函数 msg = "zen of python" def printer(): # printer 是嵌套函数 print(msg) return printeranother = print_msg()# 输出 zen of pythonanother()
another
就是一个闭包,闭包本质上是一个函数,它有两部分组成,printer
函数和变量 msg
。闭包使得这些变量的值始终保存在内存中。==================================================================================
特性4:
作用域(private)
def _private_1(name): return 'Hello, %s' % namedef _private_2(name): return 'Hi, %s' % namedef 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 = names = Student('Bob')s.score = 90
根据类创建的实例,可以任意绑定属性。
优点:定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。
==================================================================================
特性6:
多继承
class Dog(Mammal, Runnable): pass
能继承多个方法和类,不解释。
- python学习笔记(一)
- Python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- Python学习笔记(一)
- Python学习笔记(一)
- python学习笔记(一)
- Python学习笔记(一)
- python学习笔记(一)
- Python学习笔记(一)
- python学习笔记:(一)
- Python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- python学习笔记(一)
- java实现远程调用linux命令或脚本
- 步进电机驱动基础
- TextView title 文字过多滚动 TextView属性android:ellipsize="marquee"不生效的解决办法
- 深度学习框架的比较(MXNet, Caffe, TensorFlow, Torch, Theano)
- SQL SERVER 视图
- Python学习笔记(一)
- 线程学习笔记(七)-线程优先级
- D
- ACM floyd变形 Frogger
- gpc——car
- window 10 npm下webpack安装与运行-入门第一篇
- Httpclient 请求网络
- Recyclerview最最简单实现水平分页GridView效果
- spark之12:集群模式概述