• Python_day01——变量


    变量

    1、声明变量

       1 name="钱成龙" 

      变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 关键字不能声明为变量名

    2、变量类型

    • 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
    • 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
    • 字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
    • 布尔型:布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
    • 复数型:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j

    3、变量的使用

    1)常规计算

    a = 321
    b = 123
    print(a + b)
    print(a - b)
    print(a * b)
    print(a / b)
    print(a // b)
    print(a % b)
    print(a ** b)

    2)输入与转化

    使用input函数输入
    使用
    • int():将一个数值或字符串转换成整数,可以指定进制。
    • float():将一个字符串转换成浮点数。
    • str():将指定的对象转换成字符串形式,可以指定编码。
    • chr():将整数转换成该编码对应的字符串(一个字符)。
    • ord():将字符串(一个字符)转换成对应的编码(整数)。
    进行类型转换
    用占位符格式化输出的字符串
    a = int(input('a = '))
    b = int(input('b = '))
    print('%d + %d = %d' % (a, b, a + b))
    print('%d - %d = %d' % (a, b, a - b))
    print('%d * %d = %d' % (a, b, a * b))
    print('%d / %d = %f' % (a, b, a / b))
    print('%d // %d = %d' % (a, b, a // b))
    print('%d %% %d = %d' % (a, b, a % b))
    print('%d ** %d = %d' % (a, b, a ** b))

    3)使用type()检查变量的类型

    
    
    a = 100
    b = 12.345
    c = 1 + 5j
    d = 'hello, world'
    e = True
    print(type(a))
    print(type(b))
    print(type(c))
    print(type(d))
    print(type(e))4)

    4)运算符

    Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用到它们。

     4、变量的作用域

    def foo():
        a = 200
        print(a)  # 200
    
    
    if __name__ == '__main__':
        a = 100
        foo()
        print(a)  # 100

    在调用foo函数后,我们发现a的值仍然是100,这是因为当我们在函数foo中写a = 200的时候,是重新定义了一个名字为a的局部变量,它跟全局作用域的a并不是同一个变量,因为局部作用域中有了自己的变量a,因此foo函数不再搜索全局作用域中的a。如果我们希望在foo函数中修改全局作用域中的a,代码如下所示。

    def foo():
        global a
        a = 200
        print(a)  # 200
    
    
    if __name__ == '__main__':
        a = 100
        foo()
        print(a)  # 200

    我们可以使用global关键字来指示foo函数中的变量a来自于全局作用域,如果全局作用域中没有a,那么下面一行的代码就会定义变量a并将其置于全局作用域。同理,如果我们希望函数内部的函数能够修改嵌套作用域中的变量,可以使用nonlocal关键字来指示变量来自于嵌套作用域。

    def foo():
        b = 'hello' #这里的b就是相对于bar()处于嵌套作用域
    
        def bar():  # Python中可以在函数内部再定义函数
            c = True
            print(a)
            print(b)
            print(c)
    
        bar()
        # print(c)  # NameError: name 'c' is not defined
    
    
    if __name__ == '__main__':
        a = 100
        # print(b)  # NameError: name 'b' is not defined
        foo()

    Python查找一个变量时会按照“局部作用域”、“嵌套作用域”、“全局作用域”和“内置作用域”的顺序进行搜索,所谓的“内置作用域”就是Python内置的那些隐含标识符minlen等都属于内置作用域)。

  • 相关阅读:
    算法学习算法复杂度
    算法学习冒泡排序和快速排序
    焦点管理
    数据结构学习链表、双向链表、循环链表
    数据结构学习数组、栈和队列
    数据结构学习集合
    数据结构学习字典和散列表
    (转)一个webservice的小demo
    堆栈详解
    JS实现大小写转换
  • 原文地址:https://www.cnblogs.com/long5683/p/9296970.html
Copyright © 2020-2023  润新知