Pyhton 学习笔记之 hello world
来源:互联网 发布:php全栈框架 编辑:程序博客网 时间:2024/05/21 04:24
一、环境搭建:win7 + Python 2.7.13 环境。
二、安装好之后编写第一个脚本:
import sys
import struct
def print_usage():
print "usage example : command xxx xxx "
def main():
argc = len(sys.argv)
argv = sys.argv
BUFF_SIZE = 0x10
if argc < MAX_FILE_NUM:
print 'argc < ',MAX_FILE_NUM
else:
try:
fp_r = open(str(sys.argv[1]),'r')
fp_w = open(str(sys.argv[2]),'wb+')
except IOError:
print sys.argv[1],"file no exit"
return
while True:
buf = fp_r.read(BUFF_SIZE)
if buf:
fp_w.write(buf)
else:
break
fp_r.close()
fp_w.close()
if __name__ == '__main__':
MAX_FILE_NUM = 3
BUFF_SIZE = 0x10
main()
三、第一个脚本涉及的知识点:
脚本的功能是:读取第一个参数的文件,每次读16字节,写到第二个参数文件里面。
1、import 关键字是导入模块,和java的import相似,和C语言的include相似。
2、def 关键字就是define的缩写,声明函数,跟c语言和java相比 python函数不需要跟返回值类型,程序里面可以用 return 语句返回,若return 后面没带参数或者没有return 语句函数会自动返回 None 对象。函数小括号里面是参数列表。
3、print 类似于c的printf功能,输出调试信息,重定向规则和c差不多但是也有差别。参考 :print "my name is %s" % ("gcb")
4、函数体和循环语句等都没有大括号表示范围,python使用缩进代替大括号。函数括号和循环等语句后面跟 : 号结束。
5、python 没有main 不像 C 语句是顺序执行的,会执行不是函数定义的第一条没有缩进的语句。
6、变量灵活使用,格式不定。a = 1 之后也可以 a = "gcb" ,
7、if 判断语句 ,while 语句,和c语言类似。
8、因为没有c语言那样有确定的程序入口,python使用 if __name__ == '__main__': 来区分import的模块与自己本身,如果模块是被导入, __name__ 的值为模块名字
如果模块是被直接执行, __name__ 的值为 '__main__'。
9、try: except IOError: 是错误处理语法格式。
-----------------------------------------------------------------------------------------------------2017.09.13--------------------------------------------------------------------------------------------------------------
10. if LEAP_DEF_FLAG in buf 语句判断 LEAP_DEF_FLAG 是否包含 buf 。
- Pyhton 学习笔记之 hello world
- QT学习笔记之零 Hello World
- QT学习笔记之零 Hello World
- C# 学习笔记之 Hello World
- Qt学习笔记之Hello World
- react native 学习笔记之hello world
- wxWidgets学习笔记之1:“hello,world”
- 【学习笔记】nodejs之hello world~
- springboot之hello world搭建学习笔记
- Hello World学习笔记
- 学习笔记之----透彻分析android程序之-------hello world
- [C学习笔记].Hello World
- Jquery学习笔记:Hello World
- xlib学习笔记-hello world
- Spring学习笔记 Hello World
- DWR学习笔记 - Hello World
- 【ruby学习笔记】Hello World
- WebService学习笔记-Hello world
- 在CentOS6.7搭建Qt5.6.2环境
- BZOJ1799 [Ahoi2009]self 同类分布
- 说出ArrayList,Vector,LinkedList的存储性能和特性。
- 一分钟了解负载均衡
- 个人笔记
- Pyhton 学习笔记之 hello world
- Linux中I/O steam中的缓冲解析
- Python -asyncio笔记
- Spring Boot参考教程(一) SpringBoot概述及Hello World
- bzoj1001 [BeiJing2006]狼抓兔子
- 小红伞和NOD32基于源码的免杀经验总结
- bzoj5029 贴小广告
- bzoj2875 [Noi2012]随机数生成器
- HashMap和Hashtable的区别