Python 总结

一、让python 像shell 一样能够直接执行

#!/usr/local/bin/python  
或者
#!/usr/bin/env python
第一种方法是直接告诉执行器python的解释器的绝对路径。第二种方法是利用linux 的env 命令去找python的解释器并执行。

python 小技巧

1、python 中 下划线 "_" ,代表之前最后一个表达式的值。

一、python 基础语法

1、注释用“#”
2、基本运算符  
    加减乘除 + 、 - 、 * 、 /  和c语言是一样的
    浮点除法 // (结果会四舍五入)
    幂计算 **  
 
3、逻辑比较运算
<、<=、>、>=、==、!= 、 <> 小于、小于等于、大于、大于等于、等于、不等于、不等于(建议用前者)

and 逻辑与、or 逻辑或、not 逻辑非
4、变量和赋值
4.1 python 中变量的的命名规则和c语言是一样的,另外python是动态类型的,所以其变量可以不申明直接使用
4.2 python 支持复合运算符如
   n *= 2 
   但是不支持 自增和自减运算(但是写 ++n 和 --n 不会报错,只是其值就是 n)
4.3 python (与lua一样)支持多重赋值
x, y = 1, 2
5、数字(支持五中基本数字类型)
int          (有符号整数)
long        (长整数)
bool        (布尔值)
float        (浮点值)
complex  (复数)
6、字符串
字符串用为用 单引号 (‘字符串')
双引号("字符串“) 
三引号('''字符串里面可以有特殊字符''')

7、列表和元组( python 中的数组)

7.1 列表用 [ ] 包裹,元素的个数 和 值可以改变

7.2 元组 用() 包裹,元素不可以修改,可以看成是只读的列表

 元组合列表都可以用 [:] 进行切片的访问。

8、字典(相当于c++ 中的map)
字典用 {} 包裹格式如下
aDict = {'host': 'earth'} #创建字典,包含一个元素 key 为host value为 earth
aDict['port'] = 80 # 访问字典中的port元素并给它赋值为 80
9、代码块及缩进对齐
python 中代码块不是像c 那样用 {} 包裹,而是直接通过缩进对齐表示。


10、判断语句

if expression1:
         操作
elif  expression2:
         操作
else:
         操作
python 中的 三元操作符
在c语言中的  a > b ? a : b
python中用  a if a > b else b

11、循环语句
while expression:
         操作

for item in [‘email’, 'net-surfing', 'homework']:
        print item
配合for 循环使用的有内置的函数 range,用于帮助生成列表,(配合for使用更优化的选择为 xrange,它不会再内存中生成完整的拷贝)
range(start, end, step = 1)  产生 [ start, end) 区间的列表,按 step递增

循环中常用的关键字:
1、break, continue,同c语言
2、pass  代表什么都不做一个空语句,用于python的缩进对齐中使用

循环中的else语句,在while 和 for 循环中可以使用else语句,else语句的操作会在循环完成的时候执行,break语句打断的循环else语句不会被执行。
count = 10
while (count > 0):
    print count
    count -= 1
else:
    print "done:::", count
    
sum = 0
for v in range(1, 11):
    sum += v
else:
    print("sum(1-10):", sum)

12、函数

申明方式:
def functionname ( 参数列表 ):
            操作
函数必须先申明再使用. 
函数支持默认参数,使用方法和c++一样
函数只能返回一个值,
def foo():
      return 1, 2, 3  #等价于返回一个元组
其实返回值还是只有一个它等价于
def foo():
      return (1, 2, 3)
但是值得注意的是,如果用多个变量只收函数返回值会按照顺序接收元组的值。  x,y, z = foo() 会得到对应的值,但是必须保证返回值的数量和接收变量一致。

python的函数调用可以使用关键字参数的方式
example:
def  test(x, y)
     print "x=", x, "y=", y

通过 ** 可以定义用来接收一个字典参数,
def test(**dirtargs)
可以这么调用

test( a = 10, b = 20) 
或者这么调用
dt = {a:10, b:20}
test(**dt) # 通过 ** 将字典分解成一个一个的元素传递给函数

#变长参数
python可以通过
def test( *args )
的方式定义变长参数函数,通过在参数名前加 “*” 使args变为一个元组。
于是可以这么调用  test(1, 2, 3, 4)
另外如果要将一个已有的元组传递给函数也可以使用“*”
a = [1, 2, 3, 4]
test(*a) # 通过* 将列表的变成一个一个的元素传递给test

13、类

#类申明方式
class className(parentClass):
      "类的描述字符串"
       类体

类的成员方法都必须在申明的时候写上self,在调用的时候会自动传递这个self

类的构造函数
def __init__(self   [, otherParams])
#__init__ 需要显示的去调用父类的__init__函数

def __new__(self [,otherParams) # 是类的创建工厂,__init__ 的self就是它的返回值,__new__ 必须要有返回值。

def __del__() #析构函数
析构函数要在实例对象所有引用对象都释放了才会被调用
#需要显示的去调用父类的析构函数

def __str__(self) 
#可打印的字符串输出,

def __repr__(self)
运行时的字符串输出

def __unicode__(self)
unicode字符串输出

def __call__(self, *args)  表示可调用的实例

def __nonzero(self)  为obj 定义false值,内建bool()
def __len__(self)
内建len

成员私有化
python 中的元素都是public的
双下划线代表 私有的,只有类内部才能访问到,单下划线为保护性的,只有类和它的子类能够访问到

14、模块

14.1 导入模块

import module1[, module2, .... moduleN]
从模块中导入指定的模块属性
from module import name1[, name2,....nameN]
import modulename as moduleAliasName

15、异常和错误

#异常捕获方式
try:
    操作
except ExceptError[, argument]:
     异常操作
[
else:
     try中语句执行完且没有异常则执行的操作
finally:
     try中语句不管有没有异常最终都会执行的操作
]

#异常触发方式
raise [SomeException [, args [, traceback]]]

#断言
assert expression [, arguments]




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值