变量与函数(聪明办法学python)

变量与函数

变量

\(\textcolor{Orange}{代指一段数据,使用 = 赋值(标签,门牌号)}\)

  1. 新的值会覆盖旧的值

  2. 新值类型不一定要与旧值类型相同

    y=10
    print(y)          #输出:10
    y=True
    print(y)          #输出:True
    
  3. a=10 时,a指向10所在的标签;

    b=a 时,b也指向10所在标签。

  4. 变量命名规则

    • 必须以字母、下划线开头
    • 可由字母,下划线,数字组成
    • 大小写敏感
    • 避免使用保留字命名
  5. 更新变量

    运算符

  6. 多变量赋值

    a = b = c = 2
    a, b, c = 1, 2, 6     #如果为a,b,c=1,2,5,7 会报错,需要进行元组的解包
    

变量与作用域

\(\textcolor{Orange}{每个变量都有自己的作用范围,超出范围后,变量不可见}\)

\(\textcolor{Orange}{函数内的变量具有局部作用域,它只存在于函数内部,与其他函数中的同名变量无关}\)

def f(x):
    prnit("x:",x)
    y = 5
    print("y:",y)
    return x+y
print(f(4))

'''
输出:
	x:4
	y:5
	9
'''
print(x)
#会报错,因为x属于局部变量,在全局未被定义

\(\textcolor{Orange}{globle 用于声明一个内部变量为全局变量,这样就可以在外部修改变量的值}\)

g=100
def f():
    globle g;
    ...

语句与表达式

  • 表达式

    本身时计算结果是值

    4
    "hello world"
    7+2
    True or False
    (2<3) and (9>0)
    

    print() 只能输出表达式

  • 语句

    不是值,不能打印,但它能执行一些操作(函数很多情况是由语句组成)

    def f(x):
        return 5*x
    
    x = 5 + 4
    
    if 10>5:
        y = 5 + 3
    

函数

\(\textcolor{Orange}{一个名字,代表一串代码序列(流程)}\)

  1. 定义函数

    由两部分构成:header 和 body

    • header 用于定义函数的接口,即名称和参数

      • 当函数被调用时,参数将会作为变量被提供给函数的 body

      • 可以提供多个参数(逗号,分号隔开),也可以不提供参数

        \(\textcolor{Red}{函数可以有任意多的参数,也可以一个没有}\)

        def g():
        	return 42
        print(g()+1)       #返回43
        
      • header 以冒号结尾,后跟body

      def double(x):
          print("我在一个名叫“double”的函数里")
          return 2*x
      
    • body 包含所需执行的语句

      • 语句要缩进,不在缩进则函数部分结束

      • return语句

        一般会使用 return 语句,让函数返回其结果,

        • 一但 return,函数立即结束

        • 但不是必须的(),没有时,函数会返回None

          def f(x):
              x+42
          print(f(5))
          # 输出: None
          
        • 返回结果可以不止一个(用逗号隔开),\(\textcolor{Red}{多返回值:}\)

          def Multi_Return_Values():
              return 9,2,8
          a,b,c = Multi_Return_Values()
          print(f"a={a},b={b},c={c}")
          # 输出:a=9,b=2,c=8
          
        • print() 和 return

          print 是打印出结果

          return 是获得结构,回应,但不会打印出结果

          def cubde(x):
              print(x**3)
          print(cubed(3))    
          '''
          输出:
          27
          None
          '''
          
          print(2*cubed(4))     
          '''
          输出:
          64
          TypeError:   ...(报错)
          '''
          
  2. 函数的调用

    • 使用函数名调用
    • 函数名后紧跟一个括号
    • 括号中为我们设定的参数值,一个不多,一个不少
    • 函数返回设定的 return 值
    print(double(2))   #会输出4,根据上方定义的函数
    

内置函数

\(\textcolor{Orange}{python自带函数}\)

  1. 类型转换

    函数 描述
    int(x ) 将x转换为一个整数
    float(x) 将x转换到一个浮点数
    complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
    complex(real ,imag) 创建一个复数(real为实数部分,imag为虚数部分)
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列 s 转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串
  2. 一些基本的数学函数

    函数 返回值 ( 描述 )
    abs(x) 返回数字的绝对值,如abs(-10) 返回 10
    ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
    cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换
    exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    fabs(x) 以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0
    floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
    log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
    max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y) x**y 运算后的值。
    round(x n) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。
    sqrt(x) 返回数字x的平方根。

函数组合

\(\textcolor{Orange}{对于嵌套函数而言,先运行内层}\)

代码复杂尝试可视化

helper functions

编写函数是用来解决问题的,可以编写函数来储存那些经常被用到的操作

posted @ 2023-11-23 22:04  always-1007  阅读(45)  评论(0)    收藏  举报