格式化:
%d : 整数
%f : 浮点数
%x : 十六进制整数
%r : 不管什么格式都打印出来。
%s : 格式化字符串
如果碰到非ascii
码,需要加一句注释:
# -- coding: utf-8 --
转义字符:
\ 代表 \
%%
代表 %
raw_input()
:
直接读取控制台的输入,读取的变量永远以字符串的形式返回
一定要用自然字符串处理正则表达式,否则会需要很多反斜杠。例如,后向引用可以写成'\\1'
或r'\1'
参数、解包、变量
from sys import argv
script,first,second,third = argv
argv
是所谓的参数变量(argument variable)
。在命令行中必须传入三个参数。
否则会提示:
ValueError: need more than 3 values to unpack
读取文件
from sys import argv
script,filename = argv
txt = open(filename)
print txt.read
- close – 关闭文件。
- read – 读取文件内容。你可以把结果赋给一个变量。
- readline – 读取文本文件中的一行。
- truncate – 清空文件,请小心使用该命令。
- write(stuff) – 将 stuff 写入文件。
from sys import argv
from os.path import exists
script,from_file,to_file = argv
input = open(from_file)
indata = input.read()
print "Does the output file exists? %r" %exists(to_file)
output = open(to_file,'w')#w is key
output.write(indata)
output.close()
input.close()
函数、变量
def print_two(*args):
arg1,arg2 = args
print "arg1: %r,arg2: %r"%(arg1,arg2)
print_two("zed","shaw")
循环和列表
fruits = ['apples','oranges','pears','apricots']
for fruit in fruits:
print"a fruit of type: %s" % fruit
for i in range(0,6);
elements.append(i)
debug小技巧
- 最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打印出来,从而检查哪里是否有错。
- 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。
mystuff.append('hello')
的工作原理
-
Python
看到你用到了mystuff
,于是就去找到这个变量。也许它需要倒着检查看你有没有在哪里用 = 创建过这个变量,或者检查它是不是一个函数参数,或者看它是不是一个全局变量。不管哪种方式,它得先找到mystuff
这个变量才行。 - 一旦它找到了
mystuff
,就轮到处理句点. (period)
这个操作符,而且开始查看mystuff
内部的一些变量了。由于mystuff
是一个列表,Python
知道mystuff
支持一些函数。 - 接下来轮到了处理
append
。Python
会将“append”
和mystuff
支持的所有函数的名称一一对比,如果确实其中有一个叫append
的函数,那么Python
就会去使用这个函数。 - 接下来
Python
看到了括号(
(parenthesis) 并且意识到, “噢,原来这应该是一个函数”,到了这里,它就正常会调用这个函数了,不过这里的函数还要多一个参数才行。 - 这个额外的参数其实是……
mystuff
! 我知道,很奇怪是不是?不过这就是Python
的工作原理,所以还是记住这一点,就当它是正常的好了。真正发生的事情其实是append(mystuff, 'hello')
,不过你看到的只是mystuff.append('hello')
。
物以类聚
class TheThing(object):
def __init__(self):
self.number = 0
def add_me_up(self,more)
self.number += more
return self.number
a = TheThing()
print a.add_me_up(20)
print a.number
使用 class Name(object)
的方式定义 class