# -*- coding: UTF-8 -*- ''' Created on 2013-5-26 @author: Administrator ''' print "hello world" #获取函数的帮助文档 file = open("c:\\help.txt", "w"); raw_inputHelp = help(raw_input) #raw_inputHelp内容为空 #print >> file, raw_inputHelp help(open) myStr = "测试1" print myStr # %s 由字符串代替 %d 用整数代替 %f 用浮点数替换 print "%s is number %d !" % ("python", 1) #print支持将输出重定向到文件,符号用来重定向输出 import sys print >> sys.stderr, "测试2" print sys.stderr #输出测试 #重定向到文件 logfile = open('c:\\log.txt', 'a') # a 以追加方式打开 w 先清空已经存在内容 print >> logfile , "输入异常" logfile.close() #在文件末尾追加该字符串 #用户输入 输入中文会出现异常 user = raw_input("输入登入名: ") print "你的登录名为 " , user #输入中文名存在异常 user = raw_input(unicode('请输入文字:', 'utf-8')) print "输入中文为:" , unicode(user, 'utf-8') #输入中文名存在异常 #用int()内建函数将用户输入的字符串转换为整数 num = raw_input("enter a number: ") print "Doubling your number : %d" % (int(num) * 3) def foo(): "This is a doc string." return True flag = foo() print flag # / 两个数都是整数,取整数部分,一个为非整数,则执行真正的除法 // 浮点除法,执行真正的除法 print 5/2 #输出 2 print 5.0 / 2 #输出 2.5 print 5 // 2 #输出2 print 5.0 // 2 #输出2.0 # ** 乘方运算符 print 3 ** 3 #输出 27 3 * 3 * 3 n = 2 n = n * 10 #Python不支持 ++ -- # True与数字相加,True默认为1, False默认为0 1.1 #在Shell中输出 1.1000000000000001 print 1.1 #在Shell中输出 1.1 import decimal print decimal.Decimal('1.1') #输出1.1 # 字符串 三个引号包含特殊字符 # 索引运算符[] 切片运算法 : # 第一个字符索引为0,最后一个为-1 # + 连接字符串 * 字符串重复 pystr = "Python" iscool = 'is cool!' print pystr[0] # 输出 P print pystr[2:5] #输出 tho print iscool[:2] #输出 is print iscool[-1] #输出 ! print iscool[3:] #输出 cool! print pystr + iscool # Pythonis cool! print pystr * 2 #输出 PythonPython print '-' * 20 #输出 ------------------- pystr = '''python is cool''' print pystr #列表 用[]包裹 元素个数和值可以修改 元组用()包裹 aList = [1, 'aa', 3, 4] print aList #[1, 'aa', 3, 4] print aList[0] #1 print aList[2:] #[3, 4] print aList[:2] #[1, 'aa'] aList[2] = 'sdgw' print aList #[1, 'aa', 'sdgw', 4] aTuple = ('robots', 77, 89, 'try') print aTuple #('robots', 77, 89, 'try') print aTuple[:3] #('robots', 77, 93) #aTuple[1] = 5 #错误 'tuple' object does not support item assignment #字典 类似哈希表 {} 与JavaScript对比 aDict = {'host': 'earth'} # create dict aDict['port'] = 80 # add to dict print aDict #{'host': 'earth', 'port': 80} print aDict.keys() #['host', 'port'] print aDict['host'] #'earth' for key in aDict: print key, aDict[key] #if elif else i = -1 if i<.0: print '"x" nust be at list 0!' elif i == 1: print '"x" ==1!' else: print "xxxxxxxxxxxxx" #while counter = 0 while counter<3: print 'loop #%d' % (counter) counter += 1 for item in ['e-mail', 'net-surfing', 'homework', 'chat']: print item, print #格式化print输出 who = 'knights' what = 'Ni!' print 'We are the', who, 'who say', what, what, what, what print 'We are the %s who say %s' % (who, ((what + ' ') * 4)) for eachNum in range(3): print eachNum foo = 'abc' for c in foo: print c for i, ch in enumerate(foo): print ch, "%d" % i # a 0 # b 1 # c 2 #列表解析 squared = [x ** 2 for x in range(4)] for i in squared: print i, #输出0 1 4 9 print #挑出符合要求的值 sqdEvens = [x ** 2 for x in range(8) if not x % 2] for i in sqdEvens: print i, print #一次读入文件的所有行 fileObj = open("c:\\log.txt", 'r')#以只读的方式打开,文件不存在,不会创建文件 for eachLine in fileObj: print eachLine, fileObj.close() #异常 多行注释ctrl + / 或者是一对三个双(单)引号 # try: # fileObj = open("c:\\log.txt", 'r') # for eachLine in fileObj: # print eachLine, fileObj.close() # except IOError, e: # print 'file open error: ', e #定义函数并调用(包含默认参数用法) def addMe2Me(x = 4): if x == 4: return '默认值' else: return (x + x) print addMe2Me(3) print addMe2Me("xagawe") print addMe2Me([-1, 'abc'])#[-1, 'abc', -1, 'abc'] print addMe2Me() # 默认值 #类 括号内的为基类 class FooClass(object): """my very first class: FooClass""" version = 0.1 # class (data) attribute '''所有名字开始和结束都有两个下划线的方法都是特殊方法''' '''当一个类实例被创建时, __init__() 方法会自动执行,在类实例创建完毕后执行''' '''它仅仅是你的对象创建后执行的第一个方法,它的目的是执行一些该对象的必要的初始化工作''' ''' self是类实例自身的引用。其他语言通常使用一个名为 this的标识符''' def __init__(self, nm='John Doe'): """constructor""" self.name = nm # class instance (data) attribute print 'Created a class instance for', nm def showname(self): """display instance attribute and class name""" print 'Your name is', self.name print 'My name is', self.__class__.__name__ def showver(self): """display class(static) attribute""" print self.version # references FooClass.version print FooClass.version # references FooClass.version def addMe2Me(self, x): # does not use 'self' return x+x fool = FooClass()#Created a class instance for John Doe fool = FooClass('ttttt')#Created a class instance for ttttt fool.showname() fool.showver() print fool.addMe2Me(33) #模块 '''模块是一种组织形式, 它将彼此有关系的 Python 代码组织到一个个独立文件当中。 ''' '''模块可以包含可执行代码, 函数和类或者这些东西的组合。''' '''当你创建了一个 Python 源文件,模块的名字就是不带 .py 后缀的文件名。一个模块创 建之后, 你可以从另一个模块中使用 import 语句导入这个模块来使用。''' import sys #调用了标准输出的 write()方法,而且这次需要显式的在字符串中提供换行字符 sys.stdout.write('Hello World\n')#Hello World! sys.platform #'win32' sys.version #'2.4.2 (#67, Sep 28 2005, 10:51:12) [MSC v.1310 32 bit (Intel)]' #实用函数 print dir(fool)#显示对象的属性,如果没有提供参数, 则显示全局变量的名字 help(fool)# 以一种整齐美观的形式 显示对象的文档字符串, 如果没有提供任何参数, 则会进入交互式帮助。 print int('2') #将一个对象转换为整数 print len(fool) #返回对象的长度 #open(fn, mode) #以 mode('r' = 读, 'w'= 写)方式打开一个文件名为 fn 的文件 range([[start,]stop[,step]) 返回一个整数列表。起始值为 start, 结束值为 stop - 1; start 默认值为 0, step默认值为1。 #raw_input(str) #等待用户输入一个字符串, 可以提供一个可选的参数 str 用作提示信息。 print str(fool) #将一个对象转换为字符串 print type(fool) #返回对象的类型(返回值本身是一个 type 对象!)
#中文支持
# -*- coding: gbk -*- #设置编码方式为gbk即可,下面三句话都正确 user = raw_input(unicode('输入中文名:', 'gbk')) print "中文名为:" , unicode(user, 'gbk') user = raw_input(unicode('输入中文名:', 'gbk')) print "中文名为:" , user user = raw_input('输入中文名:') print "中文名为:" , user