Python学习笔记一

python3 笔记一

  1. Python输入input()函数
    name = input('please input your name:')
    
  2. Python还允许用r’‘表示’‘内部的字符串默认不转义
    print(r'\\\t\\')
    
  3. Python允许用’'’…’'’的格式表示多行内容
    >>> print('''line1
    ... line2
    ... lin33''')
    line1
    line2
    lin33
    
  4. Python 精确除法用‘/’,取整除法用‘//’,取余用‘%’
    >>> 10 / 3
    3.3333333333333335
    >>> 10 // 3
    3
    >>> 10 % 3
    1
    >>> 11 // 3
    3
    >>> 11 // 2
    5
    >>>
    
  5. Python编码函数ord(),chr()
    >>> ord('A')
    65
    >>> ord('中')
    20013
    >>> chr(66)
    'B'
    >>> chr(25991)
    '文'
    >>>
    
  6. list 操作类似数组 初始化用[] 可变
    • 索引可以为负数,倒序获取 list[-1]
    • 添加到末尾 list.append()
    • 插入到指定位置 list.insert(2, ‘aaa’)
    • 删除末尾 list.pop(),删除指定位置 list.pop(index)
  7. tuple 元组 初始化用() 不可变
  8. dict 类似map
    • 删除指定key dict.pop(key)
      d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
      
  9. set
    • 添加key set.add(key)
    • 删除key set.remove(key)
      s = set([1, 2, 3])
      
  10. 函数
    • 定义函数时,需要确定函数名和参数个数;
    • 如果有必要,可以先对参数的数据类型做检查;
    • 函数体内部可以用return随时返回函数结果;
    • 函数执行完毕也没有return语句时,自动return None。
    • 函数可以同时返回多个值,但其实就是一个tuple。
    • 支持默认参数
      def add_end(L=None):
        if L is None:
            L = []
        L.append('END')
        return L
      
  • 支持可变参数
      //*nums表示把nums这个list的所有元素作为可变参数传进去
          def calc(*numbers):
              sum = 0
              for n in numbers:
                  sum = sum + n * n
              return sum
    
  • 关键字参数
          def person(name, age, **kw):
              print('name:', name, 'age:', age, 'other:', kw)
    
  • 命名关键字参数
          def person(name, age, *, city, job):
              print(name, age, city, job)
    

    和关键字参数*kw不同,命名关键字参数需要一个特殊分隔符,*后面的参数被视为命名关键字参数。

  • Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误! 要注意定义可变参数和关键字参数的语法: args是可变参数,args接收的是一个tuple; kw是关键字参数,kw接收的是一个dict。 以及调用函数时如何传入可变参数和关键字参数的语法: 可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3)); 关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过kw传入:func({‘a’: 1, ‘b’: 2})。 使用*args和kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。 命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。 定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符,否则定义的将是位置参数。