zoukankan      html  css  js  c++  java
  • 【Python】一个简单的例子

    问题描述:

             Python基础篇

     

    参考资料:

             (1)http://www.cnblogs.com/octobershiner/archive/2012/12/04/2801670.html

             (2)http://www.cnblogs.com/itech/archive/2010/06/20/1760345.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关键字改变模块引用对象的名字:

    image

     

            使用from语句可以将模块中的对象直接导入到当前名字空间,from不创建一个模块名字空间的引用,而是把被导入模块的一个或多个对象

    直接放入当前名字空间

    image

    from语句支持逗号分隔的对象,也可以使用星号(*)代表模块中除下划线以外的所有对象

    image

    如果一个模块中定义有列表__all__,则from module import  * 语句只能导入__all__列表中存在的对象

    image

    注:

           import 语句可以在程序的任何位置使用,你可以在程序中多次导入同一个模块,但模块中的代码仅仅在该模块被首次导入时执行。后面的import语句只是简单的创建一个到模块名字空间的引用而已。sys.modules字典中保存着所有被导入模块的模块名到模块对象的映射。这个字典用来决定是否需要使用import语句来导入一个模块的最新拷贝.

    from module import * 语句只能用于一个模块的最顶层.特别注意:由于存在作用域冲突,不允许在函数中使用from 语句。

    每个模块都拥有 __name__ 属性,它是一个内容为模块名字的字符串。最顶层的模块名称是 __main__ .命令行或是交互模式下程序都运行在__main__ 模块内部. 利用__name__属性,我们可以让同一个程序在不同的场合(单独执行或被导入)具有不同的行为,像下面这样做:

    image

     

    • 包 (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
  • 相关阅读:
    Jmeter 指令记录
    做100个用户的并发测试时是不是得要100个用户的账号呀?
    以后可能会遇到的问题记录 .send_keys 无法输入的情况
    Appscan安装问题记录 + 最后问题解决的方法 和安装步骤
    fiddler工具能干啥
    Appscan_web安全测试工具 (含修改启动浏览器的方法)
    解决需要断言多个,其中有断言错误还要继续往下断言其他的方法
    (unittest之装饰器(@classmethod)) 让多个测试用例在一个浏览器里面跑 的方法
    unittest笔记
    另外一种结尾展示方法
  • 原文地址:https://www.cnblogs.com/luosongchao/p/3698060.html
Copyright © 2011-2022 走看看