zoukankan      html  css  js  c++  java
  • 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
    =================================
  • 相关阅读:
    设计模式学习总结:(7)工厂方法模式和抽象工厂模式
    设计模式学习总结:(6)桥模式
    设计模式学习总结:(5)装饰模式
    设计模式学习总结:(4)观察者模式
    设计模式学习总结:(3)策略模式
    设计模式学习总结:(2)模板方法模式
    [算法总结]DFS(深度优先搜索)
    [总结]拓扑排序
    [总结]树与图的遍历
    [算法总结]康托展开Cantor Expansion
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426755.html
Copyright © 2011-2022 走看看