#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()