zoukankan      html  css  js  c++  java
  • Python基础(3)

    Python数据类型

    数据类型 是否容器 是否可变 存储方式
    数字 直接
    字符串 直接
    列表 顺序
    元组 顺序
    字典 映射

    数字类型

    整  型:1,234,0,-4,0x93,056
    长整型:123456789999999L,-8976l(python2.2开始支持)
    布尔型:True和False对应整型值1和0
    浮点型:1.23,3.14e-10
    复  数:1 + 2j,0.23-8.55j
              复数的内建属性
              real:复数的实部
              imag:复数的虚部
              conjugate:返回该复数的共轭复数

    以0x/0X开头表示16进制常量,以0开头表示8进制常量。

    Python的整形值如果超出整形存储范围自动变为长征性。

    Python的长整型的长度仅与机器的(虚拟)内存的大小有关,因此理论上不存在超出长整形存储范围情况。

    补充1:以下代码可能会引起一些疑惑,id函数返回由Python自己管理的地址(只能理解为类似于C的指针) 

    >>> i1 = 10
    >>> id(i1)
    23897708
    >>> i2 = 10
    >>> id(i2)
    23897708
    >>>

    i1、i2指向相同地址,是一种优化,Python认为一些小数字是“常用”数字,不重新开辟空间存储,只把2个变量绑定同一地址。

    数字类型的运算符

    运算符

    描述

    x+y,x-y

    加、减

    x*y,x**y,x/y,x%y,x//y

    相乘、乘方、相除、求余、地板除

    <,<=,>,>=,==,<>,!=

    比较运算符

    +=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=

    自变运算符

    x|y

    按位或

    x^y

    按位异或

    x&y

    按位与

    ~x

    按位取反

    x<<y,x>>y

    左右移位

    注意:Python没有自增自减(++, --)操作符。

    除法运算:

    传统除法:整型除法,舍去小数部分(地板除),如果操作数有一个为浮点型,则执行真正的除法
    真正的除法:返回真实的商,不管是整数还是浮点数。未来将是除法运算的标准行为,现阶段通过__future__模块导入
    地板除:python2.2引入“//”

    >>> 1/2
    0
    >>> 1.0/2
    0.5
    >>> 1//2
    0
    >>> 1.0//2
    0.0
    >>> from __future__ import division
    >>> 1/2
    0.5
    >>> 1.0/2
    0.5
    >>>

     数字类型转换函数:

    int(obj,base=10):返回字符串或数值对象的整型表示,直接截取小数部分,返回整型。
    long(obj,base=10):返回字符串或数值对象的长整型表示
    float(obj):返回字符串或数值对象的浮点型表示
    complex(str) or complex(real,imag=0.0):返回复数
    bool(obj):返回布尔值

    数字类型功能函数:

    abs (num):返回num的绝对值。
    pow(num1,num2,mod=1):取num1的num2次方,如果提供mod参数,则计算结果再对mod进行取余运算。乘方可用**运算符代替。
    round(flt,ndig=0):接受一个浮点型flt并对其进行四舍五入,保存ndig位小数。取与当前数值最接近的整数(四舍五入),但返回的是浮点型。

    math.floor(): 取与当前数值最接近的,但小于当前数值的整数,返回的是浮点型。
    hex (num):将num转换成十六进制数并以字符串形式返回。
    oct(num):将num转换成八进制数并以字符串形式返回。
    chr (num):将ASCII值的数字转换成ASCII字符,范围只能是0~255。
    ord(chr):接受一个ASCII字符(长度为1的字符串),返回相应的ASCII值。
     

    序列类型

    成员顺序排列,可以通过下标偏移量访问一个或多个成员。
     
    序列类型的操作符:
    §seq[ind]: 获得下标为ind的元素
    §seq[ind1:ind2]: 获得下标从ind1到ind2之间的元素
    §seq*expr:序列重复expr次
    §seq1+seq2:连接序列seq1和seq2
    §obj in seq:判断obj是否包含在seq中
    §obj not in seq:判断obj是否不包含在seq中

    切片操作:

    序列类型支持切片操作。

    切片操作有3个参数:参数1指定开始位置,参数2指定结束位置的左闭右开区间,也就是不包含参数2的位置。第三个参数指定步长,负数步长表示反向。

    Python序列可以从后向前标负数序号,比如最后一个元素序号是-1,倒数第二个是-2。。。

    切片举例:

    >>> l = [0,1,2,3,4,5,6]
    >>> l[1:]
    [1, 2, 3, 4, 5, 6]
    >>> l[:4]
    [0, 1, 2, 3]
    >>> l[:None]
    [0, 1, 2, 3, 4, 5, 6]
    >>> l[None:None]
    [0, 1, 2, 3, 4, 5, 6]
    >>> l[0:-1:2]
    [0, 2, 4]
    >>> l[::-1]
    [6, 5, 4, 3, 2, 1, 0]
    >>>

    常用的功能函数:

    §enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象(同时也是一个迭代器),该对象生成有iter每个元素的下标和值组成的元组。
    §len(seq):返回seq的长度。
    §reversed(seq):返回与seq逆序的迭代器。
    §zip(it0,it1,…,itN):返回一个列表,其第一个元素是it0、it1…这些元素的第一个元素组成的一个元组,第二个…依此类推。
  • 相关阅读:
    word上怎么打钩
    POI操作excel常用方法总结
    web.xml中Filter过滤器标签说明
    IDEA使用操作说明(自己总结)
    windows 64位上oracle 11g安装
    List<T>与List<?>的区别
    java分页之假分页
    CDN之Web Cache
    HTTP之缓存技术
    HTTP之Cookie和Session
  • 原文地址:https://www.cnblogs.com/TonyZhao/p/3519745.html
Copyright © 2011-2022 走看看