• Python 变量类型及变量赋值


      在 Python 中,变量不一定占用内存变量。变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存。在 Python 中,变量不需要声明,但是使用变量之前,一定要先对变量进行赋值。当创建了一个新对象时,Python 会向操作系统请求内存,Python 本身实现了内存分配系统。变量类型指的是变量所指向的内存中 对象 的类型。Python 中变量赋值使用 = 等号,等号左面为创建的变量,等号右面为需要的值。

    # #创建一个变量名为 a 的变量
    # a = 3
    # # 创建了一个 a 变量
    # # 对 a 变量进行输出
    # print("a = ",a)
    # # a =  3
    # print("a 变量存储数据的类型为:",type(a))
    # # a 变量存储数据的类型为: <class 'int'>
    # print("a 变量的地址为:",id(a))
    # # a 变量的地址为: 140734656704848
    
    # # 修改 a 的指向
    # a = 4
    # print("a = ",a)
    # # a =  4
    # print("a 变量存储数据的类型为:",type(a))
    # # a 变量存储数据的类型为: <class 'int'>
    # print("a 变量的地址为:",id(a))
    # # a 变量的地址为: 140734656704880

    变量包含的内容主要包含四个方面:

        1.变量的名称:在对变量赋值时也就是创建变量时所使用的名字。注:根据标识符规则。

        2.变量保存的数据:通常为赋值时 = 等号 右面的对象。

         对象主要包括:

          ①.数字:int 、float 、complex 、bool、表达式、函数调用返回值等。

              数字: int 表示整数,包含正数,负数,0

                float 表示浮点数,带有小数点的数

                complex 表示复数,实部 + 虚部 J 或 j 均可

    a = 1+2J
    b = 5+6j
    print("a = {0},b = {1}".format(a,b))
    # a = (1+2j),b = (5+6j)

              bool 布尔类型,True 为真,False 为假

          ②.字符串:字符串变量、带有" "的字符串、表达式、函数调用的返回值等。

              注:Python3 以 Unicode 编码方式编码。

              使用双引号 " " 或单引号 ' ' 创建字符串或者进行强制转换 str 。

          ③.列表:列表变量、带有 [ ] 的对象、表达式、函数调用的返回值等。

              使用了 [ ] 的,[ ] 内可以是数字,字符串,字典,元组,列表,集合,表达式等。

              

    # lst = [1,2,3]
    # print(lst)
    # # [1, 2, 3]
    #
    # lst = [1.1,2.2,3.3]
    # print(lst)
    # # [1.1, 2.2, 3.3]
    #
    # lst = [1.3+4j,2+5J,3+9j]
    # print(lst)
    # # 复数
    # # [(1+4j), (2+5j), (3+9j)]
    #
    # lst = ['1','2','3']
    # print(lst)
    # # ['1', '2', '3']
    #
    # lst = [{'a':1},{'b':2},{'c':3}]
    # print(lst)
    # # [{'a': 1}, {'b': 2}, {'c': 3}]
    #
    #
    # lst = [(1,2,3)]
    # print(lst)
    # # [(1, 2, 3)]
    #
    # lst = [{1,2,3}]
    # print(lst)
    # # [{1, 2, 3}]

          ④.元组:元组变量、带有逗号的或被( )包围的多个变量或值、表达式、函数调用的返回值等。

              空元组 ( ) 

              创建一个只包含数字 1 的元素的元组 (1,)   注:一定要带有 , 号

              创建包含多个元素的元组,可以直接用 (元素1,元素2,...,元素n) 赋值

                或者元素1,元素2,...,元素n ,使用,逗号进行赋值

          ⑤.集合:空集合 set( )、使用了{ }的内部为单个变量或值、表达式、函数调用的返回值等。

              空集合 set( )

              创建多个元素的集合,{元素1,元素2,...,元素n}

              注:集合中元素不重复,可利用此特性判断别的序列对象是否存在重复元素。

          ⑥.字典:字典变量、带有 {键:值} 的变量或值、表达式、函数调用的返回值等。

              空字典 { }

              创建多个元素的字典,变量名 = {键1:值1,键2:值2,...,键n:值n}

          ⑦.类:通常为类创建实例时,函数调用的返回值等。

              class关键字声明。

          ⑧.函数:函数名、函数调用等。

              def 关键字声明,在函数前可能会有装饰器。另外,函数可以嵌套函数,当内部函数使用了外部函数的某些对象时称为闭包函数。

          注:表达式是指关于对象之间的运算。

        下面以数字数据类型为例: 

    # 数字数据类型
    num_int = 123
    print(num_int)
    # 123
    num_float = 2.4
    print(num_float)
    # 2.4
    num_complex = 5+6j
    print(num_complex)
    # (5+6j)
    num_bool_true = True
    print(num_bool_true)
    # True
    
    # bds 表达式的意思, 只计算最简单的表达式
    num_int_bds = num_int + num_int
    print(num_int_bds)
    # 246
    num_float_bds = num_float + num_float
    print(num_float_bds)
    # 4.8
    num_complex_bds = num_complex + num_complex
    print(num_complex_bds)
    # (10+12j)
    num_bool_true_bds = not num_bool_true
    print(num_bool_true_bds)
    # False
    
    # 定义一个具有返回值的函数 
    def add(x):
        ''' 对 x 进行相加操作'''
        return x+x
    
    num_int_def = add(num_int)
    print(num_int_def)
    # 246
    num_float_def = add(num_float)
    print(num_float_def)
    # 4.8
    num_complex_def = add(num_complex)
    print(num_complex_def)
    # (10+12j)
    num_bool_true_def = add(num_bool_true)
    print(num_bool_true_def)
    # 2

        3.变量存储数据的类型,可以通过 type(变量名) 函数获取。对数字数据类型使用 type 函数如下:

    num_int = 123
    print(type(num_int))
    # <class 'int'>
    
    num_float = 12.23
    print(type(num_float))
    # <class 'float'>
    
    num_bool = True
    print(type(num_bool))
    # <class 'bool'>
    
    
    num_complex = 5+6j
    print(type(num_complex))
    # <class 'complex'>

        4.变量的地址,也就是所指向的内存中的地址。使用 id(变量名) 函数获取。  

    # 查看 a 的内存地址
    a = 123
    print(id(a))
    # 140734656708688

    在上面的例子中,我们看到的都是赋值单个元素,那么可不可以赋值多个元素呢?

    答案是肯定的。Python支持同时为多个变量赋值,如下所示:

    # #多个变量进行赋值
    # a = b = c = 1
    # print("a = {0}, b = {1}, c = {2}".format(a,b,c))
    # # a = 1, b = 1, c = 1
    #
    # a,b = 1,2
    # print("a = {0},b = {1}".format(a,b))
    # # 注 a,b 多用于交换 a,b 两个元素的值
    # #           接收函数返回的两个值
    # #           接收元组等序列对象的前两个值
    # # a = 1,b = 2
    # # 1.交换两个元素的值
    # a,b = b,a
    # # 进行交换 a b 两个对象的指向
    # print("a = {0},b = {1}".format(a,b))
    # # a = 2,b = 1
    #
    # def hello_world():
    #     # 返回两个字符串的函数
    #     return "hello","world"
    #
    # a,b = hello_world()
    # # a 接收第一个返回的对象,b 接收第二个 如果还有元素接收,则依次递增
    # print(a,b)
    # # hello world
    # tuple_1 = (5,6)
    # # 创建一个元组
    # a,b = tuple_1
    # print("a = {0},b = {1}".format(a,b))
    # # a 接收第一个返回的对象,b 接收第二个 如果还有元素接收,则依次递增
    # # a = 5,b = 6

    2020-02-04

    如果觉得文章不错,可以分享给其他人哟~
  • 相关阅读:
    计算机的几种命令行
    oracle体系结构
    数字档案馆建设指南及档案业务系统归档接口规范
    ERP系统归档
    oracle ITL(事务槽)的理解
    oracle表属性
    docker+httpd的安装
    访问GitLab的PostgreSQL数据库,查询、修改、替换等操作
    docker+rabbitmq的安装
    docker+elasticsearch的安装
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12258952.html
Copyright © 2020-2023  润新知