///
//python
///
1.理解python中的引用
a = 10
b = a
print id(a) ,id(b), id(10)
注意:这里的a,b都是一个变量的别名
b = 20
print id(b), id(20)
注意:此时我们发现b的id与20的id相同(a,b就是一个标签,将b改为20,就是将
标签b贴在变量20上)
注意:在python中,并不会出现{},而是通过缩进来表示(一级缩进是由4个空格组成)
2.if语句
表达式的值为非0或者为布尔值True,则执行语句,否则执行下一条语句
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
提示:由于出现以上的写法,所以就不会出现switch(python中不支持switch/case这
样的语句),如果条件分支太多,可以考虑"标驱动"的方式来组织代码,具体参见《代码大全》
3.循环语句
1)while 循环语句
count = 0
while count < 3:
print "loop %d" % count 注意:格式化输出
count += 1
2)for循环语句
mystr = 'abcd'
for c in mystr: 注意:相当与遍历字符串
print c
a = [1,2,3,4]
for item in a: 注意:相当与遍历数组
print item
///
a = {
'key1':value1,
'key2':value2,
'key3':value3
} 注意:字典底层依靠哈希标
for key in a:
print key,a[key]
for i in range(0,10):
print i 注意:打印1到10
4.break与continue
1)break
for i in range(1,100):
if i%3 ==0:
break
print i 注意:在for循环内部定义的变量,可以在循环外部使用
题目:查找到1-99中所有的3的倍数
for i in range(1,100):
if i % 3 != 0:
continue
print i 注意:此处的print与if作为匹配
5.pass语句
x = 10
if x % 2 == 0:
pass 注意:此处的pass是一个空语句,什么也不干,只是占一个位置,防止报错
else:
print 'x is prime'
6.使用for语句
a = []
#此处的range表示的区间[0,4)
for x in range(4):
a .append(x**2)
print a
/
a = [ x ** 2 for x in range(4) ]
print a
/
题目:计算0-100中奇数的平方
a = [ x ** 2 for x in range(100) if x % 2 == 1 ]
print a
7.函数
1)一些可以被重复使用的代码,可以提取出来放到函数中
2)python中使用def来定义函数。使用return来 返回结果
def Fun():
print 'aaaa'
def Add(x,y):
return x + y
print Add(1,2)
print('hello','world') 注意:由于函数中没有标注类型,所以可以适用很多类型
但是,参入的参数必须满足函数内部的操作
3)函数重载
def Func():
print 'aaa'
def Func(x):
print 'bbb'
Func() 注意:此时回报错,其实python中并不支持函数重载,如果
定义了相同的的函数,则后面的将会覆盖前面的
print type(Func) 注意:函数也是一个普通的变量,只是可以被调用
4)函数的默认参数
def Func(debug = True):
5)函数的返回值
def GetPoint():
x = 10
y = 20
return x, y
a, b = GetPoint() 注意:此处的a,b就是返回的x,y(所以,不需要考虑输出型参数)
_, b = GetPoint() 注意:此处的使用占位符,表示不关注这个值
_*, b = GetPoint() 注意:此处的下化线*表示占位符
print type(GetPoint()) 注意:此处将返回一个元组,其实元组与元组之间是可以进行赋值的
8.文件操作
open,为python中的内建函数
f = open("test.txt",'r') 注意:此处的f为文件描述符,并且不需要进行文件的打开成功与否
print line, 注意:此处的逗号表示不打印换行
print line[:-1] 注意:此处也表示不打印换行
f.close() 注意:将文件描述符关闭,否则会造成资源泄漏
温馨提示:文件描述符个数是可配置,栈的大小也是 可以配置的,堆的大小是非常大的
注意:文件对象可以使用for循环遍历
凡是可以使用for循环遍历的对象都是可迭代的
题目:统计文件中单词出现的个数
#字典中键对应单词,值对应出现的次数
data = {}
f = open('test.txt','r')
for word in f:
word = word[:-1]
if word in data:
data[word] += 1
else
data[word] = 1
f.close()
print data
8.模块
1)可以通过inport引入文件
import add 注意:导入文件
print add.Add(10,20) 注意:访问文件中的函数,可以使用类似命名空间的
格式限制,达到文件内函数冲突的问题
提示:文件链表中有可能出现.pyc文件,只有inport引入文件后才会出现.pyc文件
inport sys
print sys.path 注意:标准库,查找路径,优先查询但前目录,在查询
系统路径
9.实用函数
raw_input(str) 注意:等待用户输入一个字符串