python 判断 循环 包 模块 函数

标签 : python


判断

    if condition:
       code
    elif condition:
        code
    else:
        code

python中是没有switch这个用法的,实现这个用法最简单的就是上面的if...else。

但是还可以通过字典的方式来实现:

    functions = {
        'a': function_1,
        'b': function_2,
        'c': function_3,
    }

    func = functions[value]
    func()

1 和‘1’ 是不相等的

    a = 1
    b = '1'
    print(a == b)   #   False

循环

while

    flag = 1
    while flag < 10:
        flag += 1
        print(flag)
    else:
        print('flag等于10')

for

    for i in range(0,9,2):
        print(i,end=' | ')   
    else:
        print('循环完毕')

最后的输出就是: 0 | 2 | 4 | 6 | 8 | 循环完毕

还可以这样写:

    for i in range(10,0,-2):
        print(i,end=' | ')   #   10 | 8 | 6 | 4 | 2 | 

具体的用法:

    a = [1,2,3,4,5,6,7,8,9]
    
    for i in range(0,len(a),2):
            print(a[i],end=' | ')   #   1 | 3 | 5 | 7 | 9 | 

这里我们介绍一个切片的用法:

    a = [1,2,3,4,5,6,7,8,9]
    b = a[0:len(a):2]
    print(b)    #   [1, 3, 5, 7, 9]

包和模块

  • 包就是我们的文件夹(文件夹下要有一个____init____.py)
  • 模块就是我们的.py文件

在模块之间想指定导出的方法:

    __all__ = ['a','b']
    
    a = 1
    b = 2
    c = 3

函数

    def add(x, y):
        res = x + y
        return res

python中递归默认是有次数限制的(我的是1000),每个浏览器和系统不尽相同,可以使用下面的方法查看:

    import sys
    a = sys.getrecursionlimit()
    print(a)
    sys.setrecursionlimit(1500)
    print(sys.getrecursionlimit())

一个函数可以有多个返回值

    def test():
        a = 1
        b = 2
        c = 3
        return a,b,c
    res = test()
    print(res)  #   (1, 2, 3)

返回的是一个元组,我们可以使用索引来访问,但是时间一长,很难记住具体含义。

所以,有一个更好的方式来接受返回值

    a,b,c = test()

关键字参数

    def add(x, y):
        res = x + y
        return res
    add(y=3, x=2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。