1P18.python标准库位置(一般是string.py所在的位置,也可以whereis python找找)
C:\Python27\Lib
/usr/lib64/python2.6
第三方库位置(一般为site-packages位置)
C:\Python27\Lib\site-packages
/usr/lib/python2.6/site-packages
2P14.windows运行python脚本时,双击会直接退出。在脚本的最后一行后面添加raw_input()语句,这样可以保持窗口开着,直到按下回车键才会关闭。
3P7.C或C++的内存管理是由开发者负责的,python的内存管理是由Python解释器(Cpython,jython之类的)负责的。
4.九九乘法口决表的实现,还可以写成一个函数供调用
#for循环九九乘法表
def nine(n):
for i in range(1,n+1):
for j in range(1,i+1):
print "%s %s = %s\t" % (j,i,ij),
print ''
if name == "main":
nine(11)
#while循环九九乘法表
def nine(n):
i=1
while i
while j<=i:
print "%s %s = %s\t" % (j,i,ij),
j=j+1
print ''
i=i+1
if name == "main":
nine(4)
5.P20.print语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象。(不太懂,看到后面研究研究)
6.P21.下划线( _)在解释器中有特别的含义,表示最后一个表达式的值。
7.P21.%s表示由一个字符串来替换,而%d表示由一个×××来替换,%f表示由一个浮点型来替换。
8.P21.符号 >> 用来重定向输出
下面例子将输出重定向到标准错误输出
import sys
print >> sys.stderr, 'Fatal error: invalid input!'
下面例子为输出重定向到日志文件
logfile = open('/tmp/mylog.txt', 'a')
print >> logfile, 'Fatal error: invalid input!'
logfile.close()
9.P21-22.用raw_input()和print来做用户交互操作。
10.布尔值是特殊的整型。在数值环境中,True会被当成整型值1,False则会被当成整型值0.
11.为了输出清晰美观,带逗号的print语句输出的元素之间会自动添加一个空格,如果不想有空格,可以用+号,print a+b
12.P31.文件的读写(参考了https://www.cnblogs.com/jiayongji/p/7119014.html?utm_source=itdadao&utm_medium=referral)
abc = open("D:/test/test.txt",'r')
for i in abc:
print i,
abc.close()
其中‘r'表示读取,’w'表示写入,'a'表示添加。'+'表示读写,'b'表示二进制访问,如果没提供,默认为'r'。
13.P31异常的处理
要给代码添加错误检测及异常处理,可以使用try-except语句当中。try之后的代码组为你打算管理的代码,except之后的代码组为处理错误的代码。例如:
try:
fobj = open("D:/test/test.txt",'w')
for a in fobj:
print a,
fobj.close()
except IOError,e:
print 'lhy', e
w为写,如果test.txt已在其他软件中打开,则不能通过此程序打开来编辑,则会报错 “lhy File not open for reading”
14.P37练习2-6 判断一个值是正数还是负数或0
a=raw_input('input a number:')
#print a
b=float(a)
if (b<0):
print("负数")
elif (b>0):
print ("正数")
else:
print("0")
还有一种升级版,参考的https://blog.csdn.net/plosu/article/details/69668900
num = '^[-+]{0,1}[0-9]{1,}.{0,1}[0-9]{0,}'
check = True
while check:
input = raw_input("请输入一个数值:")
if len(input) == 0 or not re.findall(num,input):
print "程序退出!"
break
inputnew = string.atof(input) #string.atof跟float的功能差不多
if inputnew > 0 or inputnew < 0:
if inputnew > 0:
print input , "是正数!"
if inputnew < 0:
print input , "是负数!"
else:
print "输入的是0,既不是正数也不是负数!"
15.P37 练习2-7 从用户那里接受一个字符串输入,然后逐字符显示该字符串。分别用for和while循环实现。
a=raw_input('input:')
i=0
for i in range(len(a)):
print a[i]
i=i+1
a=raw_input('input:')
i=0
while i
i=i+1
16.读取多个输入
读取多个输入
a,b,c=raw_input('input').split(" ")
i=float(a)+float(b)+float(c)
j=i/3
print a,b,c,i,j
17.排序sorted函数
a,b,c=[1.1,-3.4,2]
print sorted([a,b,c],reverse=True)
reverse=True时为降序,False时为升序,默认升序。
sorted(student_tuples, key=itemgetter(1,2))
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
sorted(student_objects, key=attrgetter('grade', 'age'))
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
key可以设置多重排序,上例为先以grade,然后再以age来排序
18.元组与列表:
元组用圆括号(),列表用方括号[];元组是一种不可变类型。
两者可以用list()和tuple()相互转换