练习
3-1.标识符。为什么python中不需要变量名和变量类型声明?
3-2.标识符。为什么python中不需要声明函数类型?
答、在python中,无需显式变量声明语句,变量在第一次被赋值时自动声明。python是一种解释型语言。在创建----也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。
3-3.标识符。为什么应该避免在变量名的开始和结尾使用双下划线?
答、下划线对解释器有特殊的意义,而且是内建标识符所使用的符号。一般来讲,变量名_xxx被看作是“私有的”,在模块或类外不可以使用。因为变量名_xxx_对python来说有特殊含义,对于普通的变量应该避免这种命名风格。
3-4.语句。在python中一行可以书写多个语句吗?
3-5.语句。在python中可以将一个语句分成多行书写吗?
答、一行可以书写多个语句,但是不提倡这种写法。一个语句可以分成多行书写。
合法标识符的规则:
第一个字符必须是字母或下划线
剩下的字符可以是字母数字或下划线
大小写敏感
不能以数字开头,除了下划线,其他符号不允许使用
合理的模块结构和布局
#(1)起始行(unix类系统)
#(2)模块文档
#(3)模块导入
#(4)变量定义
#(5)类定义
#(6)函数定义
#(7)主程序
创建文件
# coding=utf-8 #!/usr/bin/env python 'maketextfile.py -- creat text file' import os ls = os.linesep #get filename while True: fname = raw_input('请输入文件名: ' ) if os.path.exists(fname): print "ERROR: '%s' already exists(已存在)" % fname else: break #get file content (text)line all = [] print "\nEnter lines ('q' by itself to quit(输入q退出) ).\n" #loop until user terminates input while True: entry = raw_input('>') if entry == 'q': break else: all.append(entry) # write lines to file with proper line-ending fobj = open(fname, 'w') fobj.writelines(['%s%s' % (x, ls) for x in all]) fobj.close() print 'DONE'
文件读取和显示
#!/usr/bin/env python 'readtextfile.py --- read and display text file' # geu file fname = raw_input('enter filename: ') print # attempt to open file for reading try: fobj = open(fname, 'r') except IOError, e: print '*** filr open error: ', e else: # display contents to the screen for eachline in fobj: print eachline, fobj.close()