zoukankan      html  css  js  c++  java
  • Python基础语法

    1、继续(\)

      Python语句,一般使用换行分割,也就是说一行一个语句。一行过长的语句可以使用反斜杠(\)分解成几行,如下例:  

    >>> weather_is_hot = 1
    >>> shark_warnings = 0
    >>> if(weather_is_hot==1) and \
    ... (shark_warnings==0):
    ...     print '\\ is a go on mark!'
    ... 
    \ is a go on mark!

         有另外两种例外情况一个语句不是用反斜杠也可以跨行。在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号、中括号、花括号时可以多行书写。另外就是三引号包括下的字符串也可以跨行书写,如下例:

    #显示一个三引号字符串
    print ''' hi there, this is a long message for you 
    that goes over multiple lines.... you will find out
    soon that triple quotes in Python allows this kind of fun!
    it is like a day on the beach!'''
    
    #给一些变量赋值
    go_surf,  get_a_tan_while, boat_size, toll_money = (1,
    'windsurfing', 40.0, -2.00) 

     2、分号(;)允许你将多个语句写在同一行上,语句之间用分号隔开,而这些语句也不能在这一行开始一个新的代码块。例子如下:

    import sys; x = 'fool'; sys.stdout.write(x+'n')

    必须指出一点,同一行书写多个语句大大降低代码的可读性,Python虽然允许,但不提倡这么做。

    3、赋值操作符

              在C中,你会知道复制语句其实被当成一个表达式(可以返回值),不过在Python中,并不适合,Python的赋值语句不会返回值。类似下面的语句在Python中是非法的。

    >>> x = 1
    >>> y = (x = x + 1) #赋值语句不是合法的表达式
      File "<stdin>", line 1
        y = (x = x + 1) #赋值语句不是合法的表达式
               ^
    SyntaxError: invalid syntax
    >>> 

    链式复制没问题,比如:

    >>> y = x = x +1
    >>> x,y
    (2, 2)
    >>> 

    3、增量赋值

    Python的增量赋值不支持x++或--x这样的前置/后置自增/自减运算。通常用下面的完成增量赋值,示例如下:

    >>> m=12
    >>> m%=7
    >>> m
    5
    >>> m**=2
    >>> m
    25
    >>> aList=[123,'xyz']
    >>> aList+=[4.56e10]
    >>> aList
    [123, 'xyz', 45600000000.0]
    >>> 

    4、“多元”赋值

    另一种将多个变量同时赋值的方法,采用这种方式的时候,左边对象是元组,右边对象也是元组:示例如下:

    >>> x,y,z=1,2,'www.58lxqy'
    >>> x
    1
    >>> y
    2
    >>> z
    'www.58lxqy'

    括号扩起来也是可以的,通常建议这么做,使你的代码可读性更高:

    >>> (x,y,z)=(1,2,'www.58lxqy')
    >>> x
    1
    >>> y
    2
    >>> z
    'www.58lxqy'

    多元赋值在变量交换中的妙用:

    /*C语言中两个变量的交换*/
    tmp=x;
    x=y;
    y=tmp;

    而Python的多元赋值方式可以实现无需中间变量交换两个变量的值。

    >>>#Python中两个变量交换
    >>> (x,y)=(1,2)
    >>> x
    1
    >>> y
    2
    >>> x,y=y,x
    >>> x
    2
    >>> y
    1

    5、Python专用下划线标识符

        Python用下划线作为变量前缀和后缀制定的特殊变量。稍后我们会发现,对于程序来说,其中的有些变量是非常有用的,而其他的则是未知或者无用的。对Python中的下划线总结如下:

    • _xxx     不能用‘from module import’ 导入
    • _xxx_   系统定义名字
    • _xxx     类中的私有变量

    6、模块结构和布局

                 用模块来合理组织你的Python代码是简单又自然的方法。你应该建立一种统一且容易阅读的结构,并将它应用到每一个文件中。下面就是一种非常合理的布局:

    # (1)起始行(Unix)

    # (2)模块文档

    # (3)模块导入

    # (4)变量定义

    # (5)类定义

    # (6)函数定义

    # (7)主程序

    7、__name__指示模块应如何被加载

          Python是否有一种方法,能在运行时检测该模块是被导入还是被直接执行呢?答案就是…(掌声雷动)…没错!__name__系统变量就是正确答案

    • 如果模块是被导入,__name__的值为模块名字
    • 如果模块是被直接执行,__name__的值为‘__main__’
    #!/usr/bin/python  #起始行
    "This is a test module" #模块文档
    
    import sys         #模块导入
    import os
    
    debug=True         #(全局)变量定义
    
    class FooClass (object):     #类定义(若有)
        "Foo class"
    
        pass
    
    def test():                #函数定义(若有)
        "test function"
        foo=FooClass()
    
        if debug:
            print 'ran test(),execute as a script!'
    
    if __name__=='__main__':               #主程序
        test()

     8、相关模块和基础语法

    《Python风格指南》(Python Stytle Guide, PEP8)、《Python快速参考指南》(Python Quick Reference Guide)和《Python常见问答》(Python FAQ)都是开发者很重要的工具。另外,还有一些模块会帮助你成为一个优秀的程序员。

          调试器:pdb

          记录器:logging

          性能测试器:profile、hotshot、cProfile(最新的,C语言编写,常用来测试函数的执行时间及每次脚本执行的总时间)

    9、Python中的print方法

    print方法本身会生成NEWLINE的意思,当使用print来输出文本的内容时,通过循环可以输出每行时,就会在每行的结尾多一个换行。为解决这一问题,我们可以使用在print结尾出加上‘,’来解决这一问题,‘,’字符能够抑制print语句生成的NEWLINE,另外也可易使用字符串的strip()方法删除每行末尾的空白就可以了。

    具体代码如下:

    #        print eachLine.strip()
              print eachLine,
  • 相关阅读:
    RP2833 FPGA对应串口标识
    rp2833 网卡以及串口与接插件位置关系
    环境检测 短信收发的测试
    #A号板测试汇总
    #8号板测试汇总
    #2号板测试汇总
    #6号板问题
    【POJ3045】Cow Acrobats(贪心)
    【HDU1219】AC Me(水题)
    BUPT2017 wintertraining(15) #2 题解
  • 原文地址:https://www.cnblogs.com/shudonghe/p/3109429.html
Copyright © 2011-2022 走看看