zoukankan      html  css  js  c++  java
  • python(二)内置类型

    最重要的内置类型有数字、序列、映射、类、实例和异常。

    真值检测

    if和while都可以做真值检测,默认情况下,如果一个对象的__bool__()返回False或者__len__()返回0,那么该对象为假;否则都为真。

    因此内置类型为假的情况有:

    • 常量:None和False
    • 任何值为0的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
    • 空序列和集合:'', (), [], {}, set(), range(0)

    布尔运算——and, or, not

    优先级最高的是not,其次是and,最次是or

    它们三个操作符都是在前后两个值选择一个返回!!!

    • x or y: if x is false, then y, else x(找第一个真)
    • x and y: if x is false, then x, else y(找第一个假)
    • not x: if x is false, then True, else False

    布尔运算符的优先级比其他非布尔运算符的优先级都要低,也就是说not a == b等价于not (a == b)

    比较运算符

    八个:<, <=, >, >=, ==, !=, is, is not

    数字类型——int, float, complex

    数字类型有三个不同的类型:整数、浮点数、复数。

    零散的一些信息:

    1. 布尔值是整数的子类型
    2. 整数的精度没有限制,既可以无限长
    3. 浮点数一般通过C语言中的double来实现,可以通过sys.float_info()来查看
    4. 复数包含实部和虚部,二者都是一个浮点数,以复数z为例,实部和虚部分别为z.read和z.imag
    5. 标准库还包含了额外的数字类型,fractions表示分数,decimal表示用户自定义精度的浮点数
    6. +inf/inf表示无穷大,-inf表示无穷小,都是浮点类型

    复数除外,所有数字类型有以下运算符:

    +, -, *, /, //, %, abs(), int(), float(), complex(), .conjugate(), divmod(), pow(), **
    

    所有numbers.Real类型(整数和浮点数)支持:

    • math.trunc(x),截断为整数
    • round(x[, n])
    • math.floor(x)
    • math.ceil(x)

    整数类型的二元运算符

    • x | y: 或运算
    • x ^ y: 异或,不同为1
    • x & y: 与运算
    • x << n: 左移
    • x >> n: 右移
    • ~x: 反转
    • int.bit_length(): 表示整数所需的二进制位数,包括符号和首部的零
    • int.to_bytes()/class method int.from_bytes()
    • float.as_integer_ratio()/float.is_integer()/float.hex()/class float.fromhex()

    注意:

    1. 负数不允许左移右移
    2. 左移相当于乘2,右移相当于除以2

    迭代类型

  • 相关阅读:
    Codeforces Round #285 (Div. 2) A, B , C 水, map ,拓扑
    hdu 5147 Sequence II 树状数组
    hdu 5900 QSC and Master 区间dp
    Codeforces Round #372 (Div. 2) A ,B ,C 水,水,公式
    51nod 1009 数字1的数量 数位dp
    hdu 5895 Mathematician QSC 指数循环节+矩阵快速幂
    hdu 5890 Eighty seven 暴力+bitset优化背包
    hdu 5884 Sort 队列+多叉哈夫曼树
    Codeforces Round #301 (Div. 2) D. Bad Luck Island 概率DP
    Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 线段树模拟
  • 原文地址:https://www.cnblogs.com/YoungF/p/14400795.html
Copyright © 2011-2022 走看看