python学习笔记-基础篇

格式化:

%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小技巧

  1. 最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打印出来,从而检查哪里是否有错。
  2. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。

mystuff.append('hello')的工作原理

  1. Python 看到你用到了 mystuff ,于是就去找到这个变量。也许它需要倒着检查看你有没有在哪里用 = 创建过这个变量,或者检查它是不是一个函数参数,或者看它是不是一个全局变量。不管哪种方式,它得先找到 mystuff 这个变量才行。
  2. 一旦它找到了 mystuff ,就轮到处理句点 . (period) 这个操作符,而且开始查看 mystuff 内部的一些变量了。由于 mystuff 是一个列表, Python 知道mystuff 支持一些函数。
  3. 接下来轮到了处理 appendPython 会将 “append”mystuff 支持的所有函数的名称一一对比,如果确实其中有一个叫 append 的函数,那么 Python 就会去使用这个函数。
  4. 接下来 Python 看到了括号 ( (parenthesis) 并且意识到, “噢,原来这应该是一个函数”,到了这里,它就正常会调用这个函数了,不过这里的函数还要多一个参数才行。
  5. 这个额外的参数其实是…… 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

你可能感兴趣的:(python学习笔记-基础篇)