【ICS_32A】Lecture1Week2

方法 function

  1. 方法参数不能多给也不能少给,因为这两种情况都会出错
    givemefive() takes xx positional arguments but xxx was given
  2. 调用方法出错的Traceback顺序:
    1. 什么地方调用了该出错的方法
    2. 该出错的方法在哪里出错
    3. 出了什么错
  3. 局部变量和全局变量 Scope={local variables, global variables}
  4. 不要随便用全局变量
  5. 你可以在方法中写方法
    def read_and_sum_numbers():
    def read_number():
    return int(input("Enter a number, or 0 to stop"))
    total=0
    while TRUE:
    number = read)umber()
    if number==0:return total
    total+=number
  6. 调用方法时,会优先找同一层级的方法。也就是说,如果A方法中有local方法B,但是同时也存在和A同级的方法B,那么在A中调用方法B时,会优先调用local方法B。

    模块 module

  7. _name_=_main_
  8. 可以在module里写全局语句,他们将在module开始的时候就执行
  9. 如果模块本身有全局变量,且在部分方法中使用了该全局变量,那么这些方法将在引用该模块时出错。
  10. 方法中方法也是同理

其他

  1. 从project1开始在方法开头写docstring,来抽象的介绍方法
    """
    Takes an argument of any numeric type and returns its square,.
    """
  2. 课后可以用这个笔记和32a网上的笔记进行比较,查漏补缺
  3. 不能用type(1,2),只能x=1,2 => type(x)
  4. x,y,z="Boo" => x="B",y="o",z="o"