• python学习笔记(二)


    1) python和ruby一样,不支持++,只能写 n += 1,不能写n++。

    2) while语句。python的循环可以接else分支。
    =================================
    n = 5
    while n < 10 :
    ~print n
    ~n += 1
    else :
    ~print "循环结束"
    =================================

    3) for循环。 python的for循环和C系不同,更像是foreach。
    =================================
    for i in range(0,5):
    ~print i
    else :
    ~print "循环结束"

    #=> 0
    1
    2
    3
    4
    循环结束
    =================================

    4) break语句。break可以使循环停止,但需要注意的是,如果是使用break中止的循环,那么相应的else分支将不会被执行。

    5) continue语句。和别的语言的continue没有区别。(想不明白ruby为什么喜欢将continue改成next?这样和其它语言不就不一样了,要迫使用户改变语法习惯吗?)

    6) 函数。 和ruby一样,python的函数是通过def关键字定义的。也可以设置参数的默认值,只是不像ruby一样可以不写(),python的函数调用一定要带()。
    =================================
    def sayHi(name="adang"):
    ~print "hello",name

    sayHi()                        #=> hello adang
    sayHi("shuai ge")        #=> hello shuai ge
    =================================

    7) 函数内的变量作用域。 python函数内的变量无法访问函数外定义的变量,如果要访问函数外定义的变量,需要加global声明。如果函数的参数和函数外的变量名相同,刚视为两个不相关的变量。
    =================================
    def sayNum(n):
    ~print n
    ~n = 3
    ~print n

    n = 1
    sayNum(2)
    print n

    #=> 2
    3
    1
    =================================
    def sayNum():
    ~global n
    ~print n
    ~n = 3
    ~print n

    n = 1
    sayNum()
    print n

    #=> 1
    3
    3
    =================================

    8) 关键字传参。 在写js的函数时,为了让参数的数量和位置有弹性,我们会使用hash对象来进行传参。而在python里,是通过关健字传参达到类似的目的的。
    =================================
    def printNum(a,b=5,c=10):
    ~print a,b,c

    printNum(1)                #=>1 5 10
    printNum(2,c=3)         #=>2 5 3
    printNum(c=4,a=5)     #=>5 5 4
    =================================

    9) DocStrings。 在写js的时候,我们会定义一下toString方法,方便在调试的时候有内容输出。在python里,有类似的东西,但它的功能会更强,叫做DocStrings,它不仅可以为类使用,还可以为函数使用,甚至可以为help()方法所使用。调用的方式为__doc__(前后双下划线的这种风格,怎么这么像ruby呢?)。除此之外,python还有一个特殊方法,叫做__str__(self),它更接近于toString方法,在直接print obj的时候,会自动输入它的结果。
    =================================
    def test():
    ~'''Function test.

    This is a function just for test.'''
    ~print "hello"

    print test.__doc__            #=> Function test \n \n This is a function just for test.
    help(test)                         #=> 显示help信息
    =================================

    DocStrings的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。

    10) 引入模块。 python中引入模块是通过import关健字实现的,注意模块不需要加.py后辍。

    11) 模块都有__name__属性,表明自己是否被引用,如果__name__值为“__main__”表明自己是被独立运行的,如果不是,刚表明自己是被引用的。
    =================================
    if __name__ == "__main__" :
    ~print 1
    else :
    ~print 2
    =================================
  • 相关阅读:
    MSF进程迁移
    中间件漏洞之Nginx
    MSF常用payload生成
    消息中间件的对比
    Jetty简介
    Java中集合转数组,数组转集合
    SpringCloud简介
    码云上添加ssh密匙
    在Dubbo中使用高效的Java序列化(Kryo和FST)
    dubbo-负载均衡
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426754.html
Copyright © 2020-2023  润新知