• Python学习笔记(Ⅱ)——循环/选择/函数


    一.循环结构

    python中提供了for循环和while循环两种操作,没有do……while语句。

    1.for循环:

    与其他语言中for循环的常见的写法如for (int i=0;i<10;i++)不同,python中的for循环更加类似于foreach结构:

    ##举例:遍历输出一个单词的所有字母
    for letter in 'Python':
      print('当前字母 :'+letter)

    对比:

    string str = "Python";
    foreach(char c in str)
    {
        Console.WriteLine("当前字母:"+c);       
    }

    我们有时候会涉及到针对数组、列表或字典的索引或下标的操作或判断,在Python中提供了for i in range(开始索引,结束索引)的方式进行操作:

    ##举例:输出一个List的前3个字母
    List = ["C#","Java","Python","C","C++"]
    for i in range(0,2) ##注意索引下表是从0开始,这种写法等价于for(int i=0;i<=2;i++)
        print(List[i])

    在python3中,我们甚至可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):

    如:for i in range(0, 10, 3) : print(i),这种写法等价于for(int i=0;i<=10;i=i+3)

    2.while循环:

    基本语法如下:

    while 判断条件:
        循环语句

    当判断条件为永真条件时,while为无限循环,比较常见的是用来处理实时请求或其他循环操作:

    while 1==1:
        ##循环语句

    使用Crtl+C可以直接跳出循环

    3.使用break与continue进行循环控制:

    var = 10                   
    while var > 0:              
       print ('当期变量值为 :', var)
       var = var -1
       if var == 5:
          break ##break直接跳出整个循环
     
    print ("Good bye!")
    var = 10                  
    while var > 0:              
       var = var -1
       if var == 5:             # continue为跳过本次循环的剩余代码,直接跳转进入下一次循环
          continue
       print ('当前变量值 :', var)
    print ("Good bye!")

     二.选择结构:

    python中没有提供switch语句进行选择结构的操作,再让我哭会……

    python中选择结构的常见语法是if ...... elif ...... else

    i=1
    if i==1  ##注意一哈,后面是用空格分隔而不是()
        print("进入if分支")
    elif i==2
        print("进入elif分支")
    else 
        print("else分支")

    PS:在python中,0和null表示false,其余表示true。

    三.函数:

    1.函数的定义:Python中的函数定义语法如下:

    def 函数名(参数列表):
        函数体

    函数以 def 关键词开头,后接函数名称和圆括号 (),()中为这个函数的参数;以冒号起始,并且缩进

    由于python弱化了变量以及变量类型的概念,因此函数体可以加retrun,也可以不加;不加return则类似于C语言中的void类型函数。

    2.函数的调用与参数的传递:我们回到这段代码:

    ## coding=utf-8
    ##冒泡排序与HelloWorld
    def
    BubbleSort(list):##定义一个函数 for i in range(len(list)): for j in range(i): if list[j] > list[j+1]: list[j],list[j+1] = list[j+1],list[j] return list if __name__ == "__main__":
      list = [8,1,2,66,5,123]
    print("hello world") list = BubbleSort(list) ##调用函数BubbleSort并传入参数list print(list)

    在调用函数和传参时,需要注意以下的几个方面:

    1.Python中提供了多个传参的方式:

    必需参数:须以正确的顺序传入函数。调用时的数量必须和声明时的一样:

    def sub(a,b):
        return a-b
    
    if __name__ == __"main"__:
        a=5,b=2
        c=sub(a,b)
        print(c) ##输出结果为3

    关键字参数:传参时按照参数名=值的方式传参,允许函数调用时参数的顺序与声明时不一致,使用参数名进行匹配:

    def sub(a,b):
        return a-b
    
    if __name__ == __"main"__:
        c=sub(b=2,a=5)##关键字参数,执行函数时会按照形参的参数名进行匹配,而非传入参数的顺序
        print(c) ##输出结果为3

    默认参数:函数的入参定义了默认参数后,调用函数时可以不传入参数,此时函数执行时取默认参数进行处理:

    def sub(a=5,b=2) ##默认参数,当不传入参数时,a取5,b取2进行运算
        return a-b
    
    if __name__ == __"main"__"
        c=sub
        print(c)##输出结果为3

    不定长参数:当函数无法确定入参的实际个数时,可以采用不定长参数的方式进行传参,不定长参数定义时需要加*,用于存放所有未命名的参数,若没有指定就是一个空元组;不定长参数不一定要传入:

    def printinfo( arg1, *vartuple ):
       "打印任何传入的参数"
       print ("输出: ")
       print (arg1)
       for var in vartuple:
          print (var)
       return
    
    printinfo( 70, 60, 50 ) ##调用函数,传入不定长的参数

    PS:1.由于默认参数和不定长参数的存在,Python形式上不支持函数的重载,此外,python中函数参数变量是没有类型的,当你调用传值的时候才知道它到底是什么类型的变量。故对参数类型不同的函数根本无需考虑重载。

    2.如果一个函数具有多个参数,调用时想指定其中的几个,建议使用关键字参数进行传参,降低报错或异常的风险

  • 相关阅读:
    tomcat7配置
    C# FTP常规方法
    C++ 用libcurl库进行http通讯网络编程
    webkit webApp 开发技术要点总结[转]
    websocket
    Linux下使用logrotate实现日志切换
    Linux日志文件utmp、wtmp、lastlog、messages
    妙用git rebase --onto指令
    iptables命令详解和举例
    linux下IPTABLES配置详解
  • 原文地址:https://www.cnblogs.com/rd-ddddd/p/8794446.html
Copyright © 2020-2023  润新知