python博客笔记(2.7.11)

python2.7.11  测试环境为Linux

Python 2.x中,print还可以是一个关键字,可写成print 'Hello World!',但这在3.x中行不通

#!/usr/bin/env python
print('Hello World!')

>>>print type(a)

>>>a = 10

tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

字符串是一种特殊的元素,因此可以执行元组的相关操作

Python函数range(),来帮助你建立表

idx = range(5)
print idx

可以看到idx是[0,1,2,3,4]

在Python中,当程序执行到return的时候,程序将停止执行函数内余下的语句。return并不是必须的,当没有return, 或者return后面没有返回值时,函数将自动返回None

one是Python中的一个特别的数据类型,用来表示什么都没有,

相当于C中的NULL。None多用于关键字参数传递的默认值

Python的整个概念是基于对象的。

__init__()方法

__init__()是一个特殊方法(special method)。Python有一些特殊方法。Python会特殊的对待它们。特殊方法的特点是名字前后有两个下划线

如果你在类中定义了__init__()这个方法,创建对象时,Python会自动调用这个方法。这个过程也叫初始化。

需要先要介绍两个内置函数,dir()和help()

dir()用来查询一个类或者对象所有属性

help()用来查询的说明文档。

list是一个类

在上面以及看到,表是Python已经定义好的一个类。当我们新建一个表时,比如:

>>>nl = [1,2,5,3,5]

实际上,nl是类list的一个对象。

del是Python中保留的关键字,用于删除对象

在Python中,一个.py文件就构成一个模块

必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。

包裹传递

在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会非常有用。

def func(*name):
    print type(name)
    print name

func(1,4,6)
func(5,6,7,1,2,3)
为了提醒Python参数,name是包裹位置传递所用的元组名,在定义func时,在name前加*号。
包裹传递的关键在于定义函数时,在相应元组或字典前加*或**。
所谓的解包裹,就是在传递tuple时,让tuple的每一个元素对应一个位置参数。在调用func时使用*,
是为了提醒Python:我想要把args拆成分散的三个元素,分别传递给a,b,c。
(设想一下在调用func时,args前面没有*会是什么后果?)
def func(a,b,c):
    print a,b,c

args = (1,3,4)
func(*args)

 可以利用lambda函数的语法,定义函数

func = lambda x,y: x + y
print func(3,4)

以上定义可以写成以下形式:

def func(x, y):
    return x + y
Coding
原文地址:https://www.cnblogs.com/ccie-leon-43093/p/5450086.html