Python 基础知识-【1】
这个系列只是一个过渡,也不知道会更多少,废话少说直接开搞
下面的代码作用为:
每隔一秒打印一个斐波那契数列数字,并将数列保存到指定的文件中
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import time
def fbis(num,L):
for i in range(num-2):
L.append(L[-2]+L[-1])
return L
result = [0,1]
def main(L):
L = fbis(10, L)
fobj = open('result.txt', 'w+')
for i, num in enumerate(L):
print('index %d is %d' % (i, num))
fobj.write('%d'%num)
time.sleep(1)
if __name__ == '__main__':
main(result)
- 一般情况下,在
Python
中用#
标识注释行,但有两种特殊情况:- 当
Python
代码作为可执行文件直接运行在Linux
系统中是,#/usr/bin/env python
用于告诉系统Python
解释器的位置 -
#-*-coding:utf-8-*-
用于标识本文件用UTF-8
格式编码,虽然Python 3
本身默认使用UTF-8
编码,但该项声明对于某些编辑器来说仍然有用
- 当
-
import
语句用于导入包。本例中导入了time
包,因为之后的sleep()
函数位于其中. -
Python
中的函数定义用def
关键字完成,:
用于代码块开域. 代码块通过缩进对齐而不用大括号来表达代码逻辑,因为没有了额外的字符,程序的可读性更高,而且缩进完全能够清楚地表达一个语句属于哪个代码块。本例中定义了两个函数:fbis
和main
. -
Python
中函数参数不用定义类型,比如本例中函数fbis()
的参数num
-
list
是Python
中常用的列表类型,Python
中的list
类型用中括号对[]
定义. 本例fbis()
中的result
变量是list
的实例,用于保存被生成的数列. -
range(num)
函数用于生成从 0 到 num-1 的数字序列. -
[for...in...]
语句是循环流程语句. 在函数fbis()
的for
语句中,生成一个从 0 到 num-2-1 的循环,每个循环体中计算一个数值并加入到result
列表中. - 列表变量的负数索引用于获取列表中倒数的元素,比如本例中的
result[-1]
意为获取result
的倒数第 1 个元素 - 函数
main()
中用参数 10 调用fbis()
函数,生成 10 个斐波那契数字. -
Python
的内置函数open()
用于打开文件,其第 1 个参数是被打开的文件名,第 2 个参数是打开的反射光hi,w+
表示打开待写入的文件. 函数main()
将打开的文件句柄放在fobj
变量中. - 函数
enumerate()
会将数组或列表组成一个索引序列,其返回值内包含两个变量的迭代器,第 1 个是序列号,第 2 个是数组、列表元素. - 在
Python
可以使用print()
函数打印输出,可以用print()
显示变量的字符串表示,或者仅使用变量名查看该变量的原始值.Python
的print()
函数与字符串格式运算符 (%)结合使用,可实现字符串替换功能,和 C语言中的printf()
相似. - 使用文件句柄的
write()
函数可以向文件写入数据。文件句柄read()
函数可以读入数据。 - 使用
time
包的sleep()
函数可以让程序暂停一段时间,本例中输入参数 1 以指定暂停 1 秒 - 判断逻辑用
if
语句表达。本例中的if
语句用于判断代码是被其他模块导入还是直接被执行;如果直接被执行就调用main()
函数. -
__name__
是Pyhton
的只读内置变量。在模块中访问该变量的时,其随着模块的被调用方式的不同而有不同的值:当该模块被直接执行调用的时,__name__
的值为__main__
;当该模块被其他模块用import
语句调用的是,该值为当前模块名.
网友评论