学习网站:http://www.runoob.com/python/python-operators.html
一. is 与 == 的区别
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)
is 比较id
== 比较值
注意:
假设 a 与 b 值相等
若数据为 数值型或字符串型时,a is b 是 true
若数据为 tuple,list,dict或set型时,a is b 是 false
二. for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串
方式1:
for letter in 'Python':
print '当前字母 :', letter
方式2: 通过序列索引迭代
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]
注意:
1. range()返回一个序列, 如上例子表示 range(len(fruits)) == [0, 1, 2]
2. 在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环全部正常执行完(即 for 没有通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
三. pass语句
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
比如:
def sample(n_samples):
pass
该处的 pass 是占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容时,用pass 填充,使程序可以正常运行。
四. 字典
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
五. python类型与函数传递
1. 在 python 中,对象有类型,变量是没有类型的:
a=[1,2,3]
a="Runoob"
以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型
而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针)
2.可更改(mutable)与不可更改(immutable)对象:
strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
3. python 函数的参数传递:
不可变类型:类似 c++ 的值传递
如 fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,
如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
六. 函数参数
必备参数 关键字参数 默认参数 不定长参数
不定长参数的例子:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1
for var in vartuple:
print var
return;
# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );
七. 模块
import math
from math import sin
from math import *
第三种尽量少用
八. 包
包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py
九. 异常处理
1. try
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
2. try-finally 语句无论是否发生异常都将执行最后的代码。
try:
<语句>
finally:
<语句> #退出try时总会执行
raise