• python学习-数据类型


    计算机处理的数据不单纯的指数字,计算机可以处理数字、文本、音频、视频等等各种数据,下面描述的是Python中可以直接使用和处理的基本数据类型。

        整数

    Python可以处理任意大小的整数,跟java等语言整数区分int和long不一样,Python的整数就一种,可以是无限大小的正整数或者负整数。例如十进制就是5、1983、-26等,16进制使用0x前缀,例如0xfa98、0xb123等

        浮点数

    浮点数也就是日常中常说的小数,只是因为使用科学计数法时小数点可以在任意位置,所以称浮点数更合适,浮点数写法也跟数学中一样,如1.85、-6.8,用科学计数法是10用e代替,如1.82x10^5就的写法就是1.82e5

    浮点数的计算结果有时候是不精确的,有时候获得的结果是四舍五入之后的。

    跟java相比不太一样的地方,java中整数之间做/运算是取整的意思,也就是所谓的地板除法。Python中提供了两个除法符号 / 和 // , / 的结果永远是浮点数(即使能够整除), // 的结果是取整,永远是整数,取余用%

    >>> 9/3
    3.0
    >>> 10/3
    3.3333333333333335
    >>> 10//3
    3
    >>> 10%3
    1

        字符串

    字符串可以理解为一段文本,用单引号或双引号括起来,例如'asdf'和"asdf"表示的字符串内容是一样的,这种只有单引号或双引号一种的,引号不包含在字符串中,如果字符串中包含单引号或双引号,可以嵌套使用,例如

    >>> print("I'am victor")
    I'am victor
    >>> print('I"am victor')
    I"am victor
    

      或者使用转义字符,转义字符可以转义很多,比如 表示换行, 表示制表符,字符本身也要转义,所以\表示的字符就是,例如

    >>> print("I'am "victor"")
    I'am "victor"
    >>> print("I'am "victor" 
     I'am leaning Python \\")
    I'am "victor"
     I'am leaning Python \
    

      使用过多的转移字符看起来很乱,Python还提供了一个渐变方法,在字符串前面加上 r 字符串就不会转义了

    >>> print("I'am "victor"")
    I'am "victor"
    >>> print(r"I'am "victor"")
    I'am "victor"
    

      还允许使用三个单引号或双引号直接将多行字符串原样输出,但是转义字符还是会转义,不想转义前面还是要加上r,'''XXX'''  """XXX""",例如

    >>> print("""I'am "victor"
    ... I am
    ...     leaning
    ...       Python""")
    I'am "victor"
    I am
        leaning
          Python
    

      布尔值

    布尔值只有True和False两个值,注意区分大小写

    >>> (1==2)==True
    False
    

      布尔值可以用and、or和not运算,这个运算规则跟其他语言一样,and运算是与运算,只有所有都为True,and运算结果才是True。or运算是或运算,只要其中有一个为True,or运算结果就是True。not运算是非运算,它是一个单目运算符,把True变成False,False变成True

    >>> True and False
    False
    >>> True or False
    True
    >>> not True
    False
    

      空值

    Python中的空值用None表示,注意大小写,空值不是0也不是"",这种有意义的值并不是None,None是一个特殊的空值,含义跟java中的null一样

    >>> 0  == None
    False
    >>>
    >>> "" == None
    False
    

      变量

    变量在程序中就是用一个变量名表示,变量名必须是大小写字母、数字和_的组合,且不能用数字开头,变量用=赋值,注意一点Python是动态语言,跟java这类静态语言不太一样的地方就是动态语言更灵活,同一个变量可以赋值不同类型的值。

    a = 2
    print(a)
    a = "abC"
    print(a)
    
    #这个代码java会报错,因为两次赋值类型不一样,Python会正常执行后输出
    2
    abC

           解释一下赋值过程,先猜猜下面的代码,输出的a和b值是什么?

    a = "abc"
    b = a
    a = "def"
    print("a =", a)
    print("b =", b)
    

      代码执行后的输出结果是a = def    b = abc ,相信大部分人都能答对,下面简单介绍一下执行过程,第一行的时候解释器在内存分配了一个区域保存"abc"这个值,并把a这个变量指向"abc"所在的内存地址。第二行创建了一个变量b,并将a指向的地址赋给b,这样b也是指向了"abc"所在的内存地址。第三行又创建了一个"def"的内存区域,将a指向了"def"所在的内存地址,而这时b的指向并没有变化,所以执行后会输出这样的结果。

      常量

    常量就是固定不变的数据,约定俗成常量名全部大写,这个不变是从业务上定义的不变,例如圆周率PI = 3.1415926,当然你一定要在代码中改变PI的值,也没人拦得住你。

  • 相关阅读:
    【Oracle 12c】最新CUUG OCP-071考试题库(58题)
    【Oracle 12c】最新CUUG OCP-071考试题库(57题)
    【Oracle 12c】最新CUUG OCP-071考试题库(56题)
    【Oracle 12c】最新CUUG OCP-071考试题库(55题)
    voip,
    处理xmpp 离线信息,
    流程,xmpp发送信息,
    折腾我几天的 消息状态,
    三者的区别,
    bundle,
  • 原文地址:https://www.cnblogs.com/yanh0606/p/10485051.html
Copyright © 2020-2023  润新知