作者:陈曦
日期:2012-6-30 11:18:06
环境:[Mac 10.7.1 Lion Intel-based i3,支持64位指令 Python 2.7.1 gcc4.2.1]
转载请注明出处
Q1: 脚本的本质是什么?
A: 它就是一段代码,只不过让对应的解释器执行即可;和它相对应的是编译型代码,需要编译成可执行文件或者目标文件,在指定平台上运行或者使用。
Q2: 为什么写脚本不熟练的程序员不是好程序员?
A: 如果程序员主要写的就是特定类型的脚本,那肯定是这样;如果不是,当主要工作不是写脚本时,程序员要做的不仅仅是写本职工作,还不可避免地需要处理相关的测试和验证工作。例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进而确定问题在于什么。在此时,如果一味希望采用编译型语言来编写这样的代码,实践中的时间和精力是不够的,所以,脚本成了很好地选择。
Q3: 在您所了解的脚本中,最喜欢哪个?
A: 对于windows下批处理,linux shell, mac shell, python, perl, VBScript这些脚本中,最喜欢的就是python.原因在于,它从一方面很像c语言,简洁,很多时候代码很易懂易写;另一方面很像c++,支持面向对象的处理。
Q4: 给个mac下python语言的hello代码吧。
A: 首先得确定已经安装了python解释器。
可以看出,已经安装了。如果没有,可以使用macport进行安装。
编写如下代码,保存为hello.py:
print "hello, python!\n"
运行:
Q5: 每次命令行输入python,感觉还挺烦的,有没有更简单的方式?
A: 那么建立一个python的软链接吧,取名为p.只要没有冲突就行。
此时,可以使用p命令代替python.
Q6: 对于创建变量和使用变量呢,这样的代码如何写?
A: 对于创建变量和使用变量,它没有什么很奇怪的语法,不像bash或者perl那样,需要一个$符号,有时还需要$()这种形式。从大二开始学习了bash, 到现在依然会忘记$符号有时该如何处理。python才看1天,就记住了它的处理方式,因为它对变量的声明和定义根本不需要$。
i = 5
print i
i = i + 1
print i
i = '12'
print i
保存为var.py.
运行:
可以看出,它的处理很简洁,i是变量,初始化的时候是i,使用的时候依然是i,很容易看懂。
Q7: 有时,可能需要计算大整数运算结果,如果使用编程语言,比如c语言等等来计算,可能需要编写大整数计算的代码,这可能是个耗时的过程,python可以提供类似的计算功能吗?
A: 是的。python解释器可以提供的一个基本功能就是计算功能, 同时它可以提供直接输入功能,简单明了。如下:
Q8: 可是c语言同样提供了double这样的类型,可以操作很大的数据,上面的过程用c代码同样可以方便实现?
A: 是的,是可以实现,但是如果需要计算一个表达式非要使用c语言,那过程显得太复杂了。
Q9: 有时,需要计算的表达式很多,如果像上面那样一个一个输入,岂不太复杂了?
A: python提供的基本功能就是解释字符串,把表达式放进字符串中,让python来解释即可。
上面的eval可以对字符串参数进行计算。需要计算很多个表达式的时候,我们可以将表达式放在一个文件中:
1+1
2*3
12%3
12**2
14.5+34.5-12.5
保存为expr_cal. 然后编写脚本读取文件中的数据,一行一行计算值:
file = open("expr_cal", "r")
all_lines = file.readlines()
for line in all_lines:
print eval(line)
file.close()
保存为expr_cal.py. 然后执行:
可以看到,上面的代码已经正确地执行了。
Q10: 有时,对于编码问题,很讨厌的一个问题,为了确定某个字符的某种编码的数据是什么,python可以提供简单的方式吗?
A: 是的。如下:
上面可以看到,字符串 “你好” 对应的unicode编码,UTF8编码和GB2312编码对应的数据,方便易查。在出现编码问题的时候,不要慌张,python轻松给出结果。
Q11: 对于复数的运算,python有没有提供对应的实现?
A: 是的。复数运算也很简单和直接:
Q12: 有的时候会忘记平台默认的换行符是什么,有什么方法可以得到吗?
A: 使用os的linesep可以得到它。如下:
如果在其它平台,可能得到不同的结果。
Q13: 在开发和修复bug过程中,可能需要对某个指定大小文件进行操作,那么如何快速生成一个指定大小的文件?
A: python提供了文件操作接口,可以很方便解决这个问题。如下,生成一个100MB大小的文件,最后一个字节为0:
运行完后,可以找到这样大小的文件:
Q14: 在网络访问过程中,经常需要确定某个网页对应的html数据,而且有时需要对于html的数据进行搜索,有什么比较好的方法?
A: 使用脚本实现是个不错的选择,对于数据的分析比较直接,虽然使用浏览器来查看源代码也是一种方式。如下:
上面读取的数据没有完全显示。
从上面可以看出,其实脚本发挥着很大的作用。工欲善其事必先利其器,python就是一个很好的器。
作者:陈曦
日期:2012-6-30 11:18:06
环境:[Mac 10.7.1 Lion Intel-based i3,支持64位指令 Python 2.7.1 gcc4.2.1]
转载请注明出处