【Python】一个简单的例子
2014-04-28 22:10
260 查看
问题描述:
Python基础篇
参考资料:
(1)/article/5151742.html
(2)/article/4665347.html
例子:
求解Fibonacci
glb_var.py
path.py
fibonacci.py
以上例子中Python基本知识,包含:
(1)注释
(2)包、模块
(3)print输入与输出
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(1)注释
Python的注释包括单行注释、多行注释、特殊注释
单行注释:采用 #开头
多行注释:采用#来进行多行注释,代码间注释,不要刻意对齐注释,google编程规范
特殊注释:用 “”"三个引号标识,第一行大写开头,作简要概述,句号结尾,空一行开始详细的描述。他的好处是 这些注释保存在方法的__doc__属性中,可以打印显示。这个其实和java 的doc也很相似
(2)包、模块
模块(module)
通常模块为一个文件,直接使用import导入就可以了,可以作为module的文件类型有“.py”、“.pyo”、“.pyc”、“.pyd”、“.so”、“.dll”
上例子中使用import __init__就可以将__init__文件作为模块导入,系统在导入模块时做了三件事:
(1)为源代码中定义的对象创建一个名字空间,通过这个名字空间可以访问到模块中定义的函数和变量
(2)在新建的名字空间中执行源代码文件
(3)创建一个名为源代码文件的对象,该对象引用模块的名字空间,这样就可以通过这个对象访问模块中的函数和变量
用逗号分隔模块名称可以同时导入多个模块,import __init__ , os
模块导入时可以使用as关键字改变模块引用对象的名字:
使用from语句可以将模块中的对象直接导入到当前名字空间,from不创建一个模块名字空间的引用,而是把被导入模块的一个或多个对象
直接放入当前名字空间
from语句支持逗号分隔的对象,也可以使用星号(*)代表模块中除下划线以外的所有对象
如果一个模块中定义有列表__all__,则from module import * 语句只能导入__all__列表中存在的对象
注:
import 语句可以在程序的任何位置使用,你可以在程序中多次导入同一个模块,但模块中的代码仅仅在该模块被首次导入时执行。后面的import语句只是简单的创建一个到模块名字空间的引用而已。sys.modules字典中保存着所有被导入模块的模块名到模块对象的映射。这个字典用来决定是否需要使用import语句来导入一个模块的最新拷贝.
from module import * 语句只能用于一个模块的最顶层.特别注意:由于存在作用域冲突,不允许在函数中使用from 语句。
每个模块都拥有 __name__ 属性,它是一个内容为模块名字的字符串。最顶层的模块名称是 __main__ .命令行或是交互模式下程序都运行在__main__ 模块内部. 利用__name__属性,我们可以让同一个程序在不同的场合(单独执行或被导入)具有不同的行为,像下面这样做:
包 (package)
通常包总是一些目录,刻意使用import导入包,或者使用from+import导入包中的部分模块,包目录下为首的一个文件便是__init__.py
然后是一些模块文件和子目录,加入子目录中也有__init__.py,那么它就是这个包的子包
(3)print输出
注:
以上总结了print格式化输出的一些使用方法
关于Python中使用中文注释出现错误解决:
(1)Python 默认的是ASCII 编码方式,如果出现中文会出现问题,所以必须在代码的第二行或第一行 显示的声明编码方式(以注释的方式,即"#"开始):
Python基础篇
参考资料:
(1)/article/5151742.html
(2)/article/4665347.html
例子:
求解Fibonacci
glb_var.py
gl_count=1
path.py
# coding:utf-8 ''' Created on 2014-4-28 @author: Administrator ''' import os def show_path(): if __name__ == '__main__': # 输出路径 print os.getcwd() else: print __name__
fibonacci.py
# encoding:utf-8 ''' Created on 2014-4-28 @author: Administrator ''' import glb_var, sys from path import show_path def fibonacci(n): a, b = 0, 1 if(n == 1): print n; else: while(n > 0): print "%d : %d" % (glb_var.gl_count, a + b) b, a = a, a + b n = n - 1 glb_var.gl_count += 1 value = input("please enter an integer:") fibonacci(value) show_path() #输出path和modules print sys.path print sys.modules
以上例子中Python基本知识,包含:
(1)注释
(2)包、模块
(3)print输入与输出
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(1)注释
Python的注释包括单行注释、多行注释、特殊注释
单行注释:采用 #开头
多行注释:采用#来进行多行注释,代码间注释,不要刻意对齐注释,google编程规范
特殊注释:用 “”"三个引号标识,第一行大写开头,作简要概述,句号结尾,空一行开始详细的描述。他的好处是 这些注释保存在方法的__doc__属性中,可以打印显示。这个其实和java 的doc也很相似
(2)包、模块
模块(module)
通常模块为一个文件,直接使用import导入就可以了,可以作为module的文件类型有“.py”、“.pyo”、“.pyc”、“.pyd”、“.so”、“.dll”
上例子中使用import __init__就可以将__init__文件作为模块导入,系统在导入模块时做了三件事:
(1)为源代码中定义的对象创建一个名字空间,通过这个名字空间可以访问到模块中定义的函数和变量
(2)在新建的名字空间中执行源代码文件
(3)创建一个名为源代码文件的对象,该对象引用模块的名字空间,这样就可以通过这个对象访问模块中的函数和变量
用逗号分隔模块名称可以同时导入多个模块,import __init__ , os
模块导入时可以使用as关键字改变模块引用对象的名字:
使用from语句可以将模块中的对象直接导入到当前名字空间,from不创建一个模块名字空间的引用,而是把被导入模块的一个或多个对象
直接放入当前名字空间
from语句支持逗号分隔的对象,也可以使用星号(*)代表模块中除下划线以外的所有对象
如果一个模块中定义有列表__all__,则from module import * 语句只能导入__all__列表中存在的对象
注:
import 语句可以在程序的任何位置使用,你可以在程序中多次导入同一个模块,但模块中的代码仅仅在该模块被首次导入时执行。后面的import语句只是简单的创建一个到模块名字空间的引用而已。sys.modules字典中保存着所有被导入模块的模块名到模块对象的映射。这个字典用来决定是否需要使用import语句来导入一个模块的最新拷贝.
from module import * 语句只能用于一个模块的最顶层.特别注意:由于存在作用域冲突,不允许在函数中使用from 语句。
每个模块都拥有 __name__ 属性,它是一个内容为模块名字的字符串。最顶层的模块名称是 __main__ .命令行或是交互模式下程序都运行在__main__ 模块内部. 利用__name__属性,我们可以让同一个程序在不同的场合(单独执行或被导入)具有不同的行为,像下面这样做:
包 (package)
通常包总是一些目录,刻意使用import导入包,或者使用from+import导入包中的部分模块,包目录下为首的一个文件便是__init__.py
然后是一些模块文件和子目录,加入子目录中也有__init__.py,那么它就是这个包的子包
(3)print输出
# coding:utf-8 ''' Created on 2014-4-28 @author: Administrator ''' import math # 整数的三种形式 十进制、八进制、十六进制 def output_int(): int_dec = 123 int_hex = 0x12 int_oct = 012 print "int_dec=%d,int_hex=%d,int_oct=%d" % (int_dec, int_hex, int_oct) # 字符串 def output_string(): string = "Hello World" print "string=%s,length=%d" % (string, len(string)) # 字符串也存在精度和度和 def output_format(): string = "hello morning!" print "%.3s" % string print "%10.3s" % string # 浮点数 def output_float(): print "PI=%f" % math.pi print "PI=%10.3f" % math.pi # width=10,precise=3,align=right print "PI=%-10.3f" % math.pi # width=10,precise=3,align=left print "PI=%06d" % int(math.pi) # 填充字符 # print的两种形式:换行和不换行 def output_line(): print "line" #不添加逗号(,)换行 print "hello", #添加逗号(,)不换行 print "world" output_int() output_string() output_format() output_float() output_line()
注:
以上总结了print格式化输出的一些使用方法
关于Python中使用中文注释出现错误解决:
SyntaxError: Non-ASCII character '\xe6'
(1)Python 默认的是ASCII 编码方式,如果出现中文会出现问题,所以必须在代码的第二行或第一行 显示的声明编码方式(以注释的方式,即"#"开始):
方法一: #coding=utf-8 或者#coding:utf-8 方法二: -*-coding=utf-8 -*- 方法三: #this Python file uses the following encoding:utf-8[/code]
相关文章推荐
- 一个简单的python(tornado + sqlalchemy)web小例子
- python 如何重载模块,用一个简单的例子来解释
- Python Windows下分布式进程的坑(分布式进程的一个简单例子)
- python hard way中的一个小例子,简单的游戏引擎
- Python网络爬虫 - 一个简单的爬虫例子
- python一个简单的打包例子
- Python操作json数据的一个简单例子
- Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例
- 一个简单的python闭包例子
- C++ Boost 之Python(一个简单的例子)
- Python操作json数据的一个简单例子
- 用一个简单的例子来理解python高阶函数
- 理解神经网络,从简单的例子开始(1)7行python代码构建神经网络
- 一个简单的EJB例子!!
- 一个简单的iBatis入门例子
- 一个简单的死锁例子
- 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
- 一个简单的Delegate使用例子
- JBPM学习(一):实现一个简单的工作流例子全过程
- 一个简单例子的设计模式分析