学习笔记(二)

分支、循环、条件与枚举

  • 条件
    mood=False
    if mood :
    	print('go to left')
    else :
    	print('go to right')
    
    
    #常量的名字全部大写
    ACCOUNT = 'carol'
    PASSWORD = '123456'
    
    print('please input account')
    user_account = input()
    
    print('please input password')
    user_password = input()
    
    if ACCOUNT == user_account and PASSWORD == user_password:
      print('success')
    else :
      print('fail')
    
    
    if True :
       pass #空语句/占位语句
    
    
     a = input()
     
     if a == '1':
         print('app')
     elif a == '2':
         print('banana')
     elif a == '3':
         print('orange')
     else:
         print('shopping')
    
  • 循环
    conter = 1
    while conter <= 10:
         conter += 1
         print(conter)
    else:
         # 循环执行结束后执行的语句
         print('end')
    
    
    # 主要是用来遍历/循环,序列或者集合、字典
    a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
    for item in a:
     	for x in item:
         	print(x, end=',')
    else:
        #当for循环执行完毕后执行的语句
        print('fruit is gone')
    
    
    # 终止循环
    a = [1, 2, 3]
    for x in a:
       if x > 2:
          break
       print(x)
    
    
    # 跳过循环
    a = [1, 2, 3]
    for x in a:
       if x == 2:
          continue
       print(x)
    
    # 跳过循环
    a = [1, 2, 3]
    for x in a:
     if x == 2:
        	continue
     print(x)
    else:
     print('end') 
    #正常循环结束打印出来1,3,end
    
    
    a = [1, 2, 3]
    for x in a:
     if x == 2:
         break
     print(x)
    else:
     print('end') 
     #循环被强制终止,所以只能打印出来1,不会执行else里面的语句
    
    
    #二维数组
    #这两个的跳出和终止只是在内部循环里面,所以外部循环继续执行,而else的执行是与外部循环一起的,所以当外部循环都执行完毕后,else里的语句会继续执行
    a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
    for x in a:
    for y in x:
         if y == 'orange':
             break
         print(y)
    else:
     print('end')
    #打印出来apple,1,2,3,end
    
    a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
    for x in a:
    for y in x:
         if y == 'orange':
             continue
         print(y)
    else:
         print('end')
    #打印出来apple,banana,grape,1,2,3,end
    
    #跳出或终止外部循环
    a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
    for x in a:
       if 2 in x:
           break
       for y in x:
           print(y)
    else:
        print('end')
    #打印出来'apple', 'orange', 'banana', 'grape'
    
    for x in a:
       if 2 in x:
           continue
       for y in x:
           print(y)
    else:
        print('end')
    #打印出来'apple', 'orange', 'banana', 'grape',end
    
    
    #循环
    for x in range(0,5):
       print(x) =>0,1,2,3,4
    
    for x in range(0,5,2):
       print(x) =>0,2,4
    
    for x in range(5,0,-2):
       print(x) =>5,3,1
    
    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    for x in range(0, len(a), 2):
       print(a[x], end='|') =>1|3|5|7|9
    #len(a)表示a的长度,2表示步长
    #第二种方法用切片方法
    b = a[0:len(a):2]
    print(b)
    

包、模块、函数与作用域

  • 包(包含_init_.py文件的文件夹)
    init.py模块的名字就是包的名字

  • 模块(文件夹下的文件)
    模块的名字为 包的名字.模块的文件名

    1.第一种方式引入模块import module_name

    #在同一个包下的模块相互引用
     #被引入的文件c1.py
     a=2
    
    #要引入模块的文件
    import c1
    print(c1.a)
    
    
    #引入同级包t里面的模块c1.py
    import t.c1 as m
    print(m.a)
    
    

    2.第二种方式引入模块from module import 变量/函数

     #在同一个包下的模块相互引用
     #被引入的文件c1.py
     a=2
     b = 3
    
    #要引入模块的文件
    from c1 import a,b
    print(a,b)
    
    #引入同级包t里面的模块c1.py
    from t.c1 import a
    print(a)
    #第二种方式
     from t import c1
    print(c1.a)
    
    #引入的变量多的时候可以用括号来换行
    from c1 import (a,b,
    c)
    

    3.文件_init_.py的作用
    (1)当模块执行的时候,init.py都会先执行
    (2)当多个模块引用的模块多个相同的模块时,可以将这些 被引用的模块提取到_init_.py文件中引用,然后其他文件再引用_init_.py就可以了
    4.__all__的作用:可以控制*所表示要引入的东西(模块,函数,类等)
    5.包和模块导入的问题
    (1)包和模块是不会被重复导入的
    (2)避免循环导入,否则会报错,循环导入即文件1引入文件2,文件2再引入文件1,这样一定会报错;还有一种循环引入如文件1引入文件2,文件2引入文件3,文件3引入文件4。。。这样也不行

  • 类(模块由类组成,类由函数和变量构成)

  • 函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值