从今天开始学习正式开始学习Python,之前的学习都算是打酱油的吧。(话说学习Python的同时也不能把Java丢了,更不能丢了专业课之类的)
之前花了一个月的时间看完了
《Python核心编程》,再次告诫大家,千万别看这种
烂书,这作者翻译地有够烂的,如果你不打算学Python,如果你非常讨厌Python,如果你是Python的坚决反对者,请购买这本书吧,从这本书中你能够看到Python各种烂到要死的东西。
最后告诫大家一句:买书,一定要相信书评。
只记录一些易错点以及跟ACM有关的函数。
Pyt
hon
笔
记
(这种颜色Python的感觉有木有啊!!!)
ord():
格式:ord('a') -> integer
将字符转换成AsciI码
chr():
格式:chr(integer) -> char
将AsciI码转换成字符
oct():
格式:oct(x) -> 八进制字符串
hex():
格式:hex(x) -> 十六进制字符串
sys.stdout.write():
格式:sys.stdout.write("Hello World")
直接输出上述字符,不会自动换行
print ,:
格式:print "hello",
print "world";
输出:hello world
通过在print后加','可以不换行,但是会添加一个空格。(作为一个ACMer,我不喜欢Python这种自动换行的做法)
u"abc":
将"abc"字符串改成unicode编码
r"abc\n":
将"abc\n"这个字符中的转义字符不转义
staticmethod不需要传入self和cls对象,只有一般的参数。可以通过实例或类对象进行调用。
classmethod需要传入cls对象,可以通过实例和类对象进行高用。
区别:类方法需要额外的类变量cls,当有之类继承时,调用类方法传入的类变量cls是子类,而不是父类。类方法和静态方法都可以通过类对象和类的 实例对象访问。
①静态方法
>>> class Foo:
str = "I'm a static method."
@staticmethod
def bar():
print Foo.str
>>> Foo.bar()
I'm a static method.
②类方法
>>> class Foo:
str = "I'm a static method."
@classmethod
def bar(cls):
print cls.str
>>> Foo.bar()
I'm a static method.
OS中比较有用的模块:
os.name 字符串指示你正在使用的平台,比如说window -》‘nt’(window NT?简称‘nt’)对于linux/Unix用户-》‘posix’(瞬间感觉自己低智商了)
os.getcwd()函数得到当前的工作目录,即python脚本的工作目录
os.getenv()和os.putenv()函数分别用来读取和设置环境变量(我是菜鸟,我是菜鸟,我不会用,我不会用)
os.listdir()返回指定目录下所有的文件名和目录名
os.remove()函数用来删除一个文件
os.system()函数用来运行shell命令(感觉这样好像可以自己写一个文件操作的命令了。。。貌似这样的话,那个os.remove()不是很多余- -||)
os.linesep
字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n'
,Linux使用'\n'
而Mac使用'\r'
。
os.sep
可以取代操作系统特定的路径分割符。
os.path.split()
函数返回一个路径的目录名和文件名
exec(执行)
语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec
语句执行这些语句。下面是一个简单的例子。
>>> exec "print 'hello world'";
hello world
eval_r(重新计算求出参数值)
语句用来计算存储在字符串中的有效Python表达式。
>>> eval_r('2*3');
6
assert(断言)
语句用来声明某个条件是真的。当断言失败的时候,会引发一个AssertionError
。(可以通过try...except...来捕捉这个异常,方法是:
>>> try:
assert 1<0;
except AssertionError:
print "AssertionError";
文件操作:
f = open("filename","**");
filename ==> 指定文件的名称
** ==> 'r' 表示只读方式打开,‘w’表示只写方式打开,‘rw’表示读写方式,‘rb’表示读二进制方式,‘wb’表示写二进制方式。