#encoding=utf-8 print('hello %s,world %d') %("ytwang",1) num = raw_input("enter a number:") print 'doubling your number :%d' % (int(num)*2) print -2*4+3**2 #我 #运算符 快速注释ctrl+shift+/ print 2<4 2 == 4 2 > 4 6.2 <= 6 6.2 <= 6.2 6.2 <=6.3 #字符串 pystr = 'python' iscool = 'is cool' print pystr[0] print pystr[2:5] print iscool[:2] print iscool[3:] print pystr + iscool print pystr * 2 pystr #列表 alist = [1,2,3,4] print alist print alist[0] alist[1] = 5 print alist #元组 aTuple = ('ytwang',23,163,'female') print aTuple print aTuple[:2] #字典 aDict = {'host':'ytwang'} #create dict aDict['age'] = 23 #add to dict print aDict print aDict.keys() for key in aDict: print key,aDict[key] #代码块缩进对齐 x = raw_input(); if x < 0: print '"x" must be at least 0' else: print '"x" > 0' #while counter = 0 while counter <3: print '%d loop' %(counter) counter +=1 #print what = 'hello' print 'say %s' % ((what + ' ')*4) for eachNum in [0,1,2]: print eachNum #range()内建函数 for eachNum in range(4): print eachNum foo = 'abdd' for c in foo: print c print len(foo) for c in range(4): print foo[c],'%d' % c #enumerate()循环索引, 循环元素 for i,char in enumerate(foo): print char,'(%d)' % i #列表解析,for循环挑选合适的值放入列表中 squared = [x ** 2 for x in range(4) if not x % 2] for i in squared: print i 文件 filename = raw_input("enter file name:") fobj = open(filename,'r') for line in fobj: print line, #循环一次取一行显示 print 'print all' print line, #一次读入文件所有行,一次性输出 print 'print all' print line #print , 抑制换行符,文本本来就有 fobj.close() #异常 try: filename = raw_input("enter file name:") fobj = open(filename,'r') for eachLine in fobj: print eachLine, fobj.close() except IOError, e: print 'file open error:', e 函数 def functionname(x,y,z): 'discription can dont write' return (x + x) print functionname(4,5,6) #类 class FooClass(object): #可以提供一个可选的父类或者说基类; #如果没有合适的基类,那就使用 object 作为基类。 #"my very first class: FooClass" version = 0.1 # class (data) attribute 静态变量被所有实例及四个方法共享 #所有名字开始和结束都有两个下划线的方法都是特殊方法 #当一个类实例被创建时, __init__() 方法会自动执行 #在类实例创建完毕后执行,类似构造函数 #它并不创建实例--它仅仅是你的对象创建后执行的第一个方法 #的目的是执行一些该对象的必要的初始化工作。 #通过创建自己的 __init__() 方法, 可以覆盖默认的 __init__()方法 #(默认的方法什么也不做) def __init__(self, nm='John Doe'): 'constructor' self.name = nm # class instance (data) attribute #初始化了一个名为 name的类实例属性(或者说成员) #这个变量仅在类实例中存在, 它并不是实际类本身的一部分。 print 'Created a class instance for', nm #每个方法都有的一个参数, self #self ? 它是类实例自身的引用,类似C++的this def showname(self): """display instance attribute and class name""" print 'Your name is self.name', self.name print 'My name is self.__class__.__name__', self.__class__.__name__ def showver(self): """display class(static) attribute""" print self.version # references FooClass.version def addMe2Me(self, x): # does not use 'self' """apply + operation to argument""" return x + x #创建实例 fool = FooClass() #当一个实例被创建, #__init__()就会被自动调用。不管这个__int__()是自定义的还是默认的。 #方法调用 fool.showname() #显示 self.__class__.__name__ 变量的值 #对一个实例来说, 这个变量表示实例化它的类的名字 #显示self.name创建类实例时我们并未传递 #名字参数, 因此默认参数 'John Doe' 就被自动使用 fool.showver() print fool.addMe2Me(5) foo2 = FooClass('jane Smith') #指定一个参数。jane Smith被调用 foo2.showname()