• python学习笔记之--变量和常量


    常量

    • 是内存中用于保存固定值的单元,在程序中常量的值不能发生改变;python并没有命名常量,也就是说不能像C语言那样给常量起一个名字。
    • python常量包括:数字、字符串、布尔值、空值

    >>> 'python'
    'python'
    >>> 3
    3
    >>> True
    True
    >>> []
    []

    变量

    • Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
    • 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
    • 等号(=)用来给变量赋值。
    • 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值
    #变量在使用前必须先"定义"(即赋予变量一个值),否则会出现错误:
    >>> n   # 尝试访问一个未定义的变量
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    NameError: name 'n' is not defined
    
    #变量赋值
    >>> counter = 100          # 整型变量
    >>> miles   = 1000.0       # 浮点型变量
    >>> name    = "runoob"     # 字符串
    >>> print (counter)
    100
    >>> print (miles)
    1000.0
    >>> print (name)
    runoob
    
    #交换变量值
    >>> a=1
    >>> b=2
    >>> id(a)
    1755082208
    >>> id(b)
    1755082240
    >>> a,b=b,a
    >>> print(a,b)
    2 1
    >>> id(a)
    1755082240
    >>> id(b)
    1755082208
    思考:为什么一步操作就可以交换两个值?
    python的变量并不是直接存储值,而只是引用一个内存地址,交换变量时,只是交换了引用的地址,
    即a,b=b,a的执行过程是---->先是变量a被赋“b值”的内存地址,然后变量b被赋“a值”的内存地址
    
    
    
    #多个变量赋值
    >>> a = b = c = 1
    >>> print(a,b,c)
    1 1 1
    >>> a, b, c = 1, 2, "python"
    >>> print(a,b,c)
    1 2 python
     

    id(身份标识)

    >>> a=1
    >>> id(a)    #id表示一个值在内存中的位置,可以判断两个值是否是同一个对象
    498232336
    >>> id(a)   #id值相同表示两个值在内存中同一个地方,是同一个东西
    498232336
    >>> b=300
    >>> id(b)
    59417712
    >>> id(30)
    498233264

     注:python中1-256之间的数字在内存中存在在同一个位置

    示例:

    >>> a=1001
    >>> a is 1001
    False
    >>> b=1
    >>> b is 1
    True

    #引用赋值(内存地址相同)

    >>> a=1000
    >>> id(a)
    57192176
    >>> b=a  #=引用赋值
    >>> id(b)
    57192176

    练习:写一个程序,找到id不一样的那个数,从1开始遍历后面的数,找到第一个不一样的数

    算法:

    1.生成300个数  for

    2.拿一个数与之对比,判断id值是否相等 申明一个常量,每次比较后+1

    3.找到后停止循环,并打印

    >>> num =0
    >>> for i in range(300):
    ...     if id(i) != id(num):
    ...         print(i)
    ...         break
    ...     num +=1
    ...
    257
  • 相关阅读:
    左转弯待转区,什么时候能进,什么时候不能进?
    吵架最激烈不过一分钟,而那一分钟你说出的话,是你用一百分钟都弥补不回来的。
    2017年1月14 15开车总结 英西
    2016年12月17 18 练车总结
    有时候为了方便sql语句的对比和查询,我们可以使用declare来定义变量 上下篇的问题
    EF中一对多的关系中,用单字段保存ID拼接字符串
    美行Thinkpad八通道快捷入口
    使用sqlserver的游标功能来导数据的常见写法
    JMeter教程01-下载和安装
    Windows无法安装到GPT分区形式磁盘的解决办法
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11549658.html
Copyright © 2020-2023  润新知