zoukankan      html  css  js  c++  java
  • Python的基础语法

    Python变量定义

    Python为动态语言,定义变量时无需指定变量类型(与之对应的是静态语言)。

    # 基础语法
    str01 = "字符串01"
    str02 = "字符串02"
    num01 = 10
    num02 = 20
    print(str01+"_"+str02)
    print(num01+num02)
    print(type(str01))  # type()函数可以判断变量类型
    print(type(num01)) 
    print(isinstance(str01,str)) # isinstance()函数可以指定变量与变量类型,进行判断,是则返回True,否则返回False
    print(isinstance(str01,int))
    
    # 常量:Python没有常量的定义,只是习惯上将全部大写的变量名表示常量
    PI = 3.14159265359
    

    Python控制语句

    • if 分支判断
    • for 循环
    • while 循环
    • continue 跳出循环
    • break 终止循环
    • pass
    # if分支判断
    study = int(input("请输入你的成绩:"))
    if study >= 60 and study <90:
        print("及格")
    elif study >= 90:
        print("优秀")
    else:
        print("不及格")
    
    # for循环
    for i in range(5):
        print(i)
    for i in range(1,10,2):
        print(i)
    
    # while循环
    m = 100
    sum = 0
    n = 1
    while n <= m:
        sum += n
        n += 1
    print(sum)
    
    # continue跳出循环
    for i in range(1,10):
        if i%2 == 0:
            continue
        else:
            print(i)
    
    # break终止循环
    for i in range(1,10):
        if i%2 == 0:
            break
        else:
            print(i)
    

    Python函数语法

    函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()等。也可以创建用户自定义函数。

    函数定义的简单规则

    • 函数代码块以def关键词开头,后接函数标识符名称和圆括号(),任何传入参数和自变量必须放在圆括号中间
    • 函数内容以冒号起始,并且缩进
    • 若有返回值,return 结束函数;不带return 表达式相当于返回None
    def functionname( parameters ):
      "函数_文档字符串"
      pass #function_suite
      return [expression]
    

    注意点

    • 全局与局部作用域

    • 多返回值

    • 必备参数

      # 必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
      def printme(a,b):
          print(a,b)
      
      # 调用,不写参数关键字的话,需要按定义的顺序传入参数
      printme("str01","str02")     # str01,str02
      printme(b="str02",a="str01") # str01,str02  打印结果是一样的
      
    • 缺省参数(默认参数)

      def printinfo( name, age = 35 ):
        print("Name: ", name);
        print ("Age ", age);
        return;
       
      # 调用
      printinfo( age=50, name="miki" );      # 标注了关键字就可以不用管顺序了
      printinfo( name="miki" );              # age就是默认35
      
    • 可变参数(不定词参数)

      def sumall(count,*num):
          print(count)
          print(sum(num))
      
      # 调用,可变参数可以传入任意个参数,包括0个参数
      sumall(2,1,2,3)  # 其实就是把后面三个参数:1,2,3打包成一个元组传入(1,2,3)
      
    • 关键字参数

      可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple

      而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

      def person(name, age, **kw):
          print('name:', name, 'age:', age, 'other:', kw)
      
      person('a',12,sex='boy',tall=165)   # name: a age: 12 other: {'tall': 165, 'sex': 'boy'}
      
      def person(name, age, **kw):
          if 'city' in kw:
              # 有city参数
              pass
          if 'job' in kw:
              # 有job参数
              pass
          print('name:', name, 'age:', age, 'other:', kw)
      
    • 命名关键字参数

      注意与必备参数和缺省参数的区别,虽然都有关键字,但调用时命名关键字参数必须写上参数名,以*号为间隔区分

      # 命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数
      # 命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错 
      def person(name, age, *, city, job):
          print(name, age, city, job)
      
      person('Jack', 24, city='Beijing', job='Engineer')
      
      # 命名关键字参数可以有缺省值,从而简化调用
      def person(name, age, *, city='Beijing', job):
          print(name, age, city, job)
      
      person('Jack', 24, job='Engineer')
      
      # 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了
      def person(name, age, *args, city, job): # city和job已经是命名关键字参数了,也是为了避免与前面的可变参数冲突
          print(name, age, args, city, job)
      
      person('Jack', 24, 'boy', 165, city='Beijing', job='Engineer')    
      
      # 同理,有关键字参数,后面的参数也会变成命名关键字参数,避免冲突
      def person(name, age, **kw, city, job): # city和job已经是命名关键字参数了,也是为了避免与前面的可变参数冲突
          print(name, age, **kw, city, job)
      
      person('Jack', 24, sex='boy', tall=165, city='Beijing', job='Engineer')
      
    • 参数组合

      以上5中参数形式可以相互组合,但存在一定限制,比如关键字参数必须在可变参数之后

    参考:https://www.liaoxuefeng.com/

  • 相关阅读:
    SDN第4次上机作业
    SDN第三次作业
    SDN第三次上机作业
    SDN第二次上机作业
    SND第二次作业
    【Beta Scrum】冲刺!4/5
    【Beta Scrum】冲刺! 3/5
    【Beta Scrum】冲刺! 2/5
    【Beta Scrum】冲刺! 1/5
    SDN第二次上机作业
  • 原文地址:https://www.cnblogs.com/stream886/p/10474620.html
Copyright © 2011-2022 走看看