Python常用数据类型和常用运算

来源:互联网 发布:windows udp 编辑:程序博客网 时间:2024/06/05 04:44

一.运算符

 

  1、算数运算:

  算数运算符相信大家都不陌生吧,尤其是加减乘除,好!那我就带着大家看看最后三个,这三个到底是干什么玩意的?

  • %,取两数相除的余数,看图:

      

  • **,x的多少次幂,看图:

      

  • //,取整除,你可以理解为向下取整,看图:

       

 

  2、比较运算:

  注意:当为一个等号时,多为赋值,两个等号为比较,另外不等于常用是!=

 

  3、赋值运算:

 

  4、逻辑运算:

  逻辑运算符里,and和or好理解,那我就讲一下not:这家伙就是唱反调的--看图

      

 

  5、成员运算:

  成员运算符,从字面上意思去理解,问谁是不是某组织里的一份子,好!例子说话

     

 

 二.基本数据类型

 

  • 对象是基于类创建的,对象的功能或方法都在类里
  • python里的基本数据类型--int,str,list,dict,tuple都是类
  • 类是抽象的,对象则是具体的,所以只有类-对象化,才可使用类的方法
  • 查看类或对象的所有方法:dir(对象)--查看功能,  help(类)--详细,  ctrl + 左键(pycharm里)

 

  1.int(整型)

  • 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  • 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~922337203685477580
    class int(object):    """    int(x=0) -> int or long    int(x, base=10) -> int or long        Convert a number or string to an integer, or return 0 if no arguments    are given.  If x is floating point, the conversion truncates towards zero.    If x is outside the integer range, the function returns a long instead.        If x is not a number or if base is given, then x must be a string or    Unicode object representing an integer literal in the given base.  The    literal can be preceded by '+' or '-' and be surrounded by whitespace.    The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to    interpret the base from the string as an integer literal.    >>> int('0b100', base=0)    4    """    def bit_length(self):         """ 返回表示该数字的时占用的最少位数 """        """        int.bit_length() -> int                Number of bits necessary to represent self in binary.        >>> bin(37)        '0b100101'        >>> (37).bit_length()        6        """        return 0    def conjugate(self, *args, **kwargs): # real signature unknown        """ 返回该复数的共轭复数 """        """ Returns self, the complex conjugate of any int. """        pass    def __abs__(self):        """ 返回绝对值 """        """ x.__abs__() <==> abs(x) """        pass    def __add__(self, y):        """ x.__add__(y) <==> x+y """        pass    def __and__(self, y):        """ x.__and__(y) <==> x&y """        pass    def __cmp__(self, y):         """ 比较两个数大小 """        """ x.__cmp__(y) <==> cmp(x,y) """        pass    def __coerce__(self, y):        """ 强制生成一个元组 """         """ x.__coerce__(y) <==> coerce(x, y) """        pass    def __divmod__(self, y):         """ 相除,得到商和余数组成的元组 """         """ x.__divmod__(y) <==> divmod(x, y) """        pass    def __div__(self, y):         """ x.__div__(y) <==> x/y """        pass    def __float__(self):         """ 转换为浮点类型 """         """ x.__float__() <==> float(x) """        pass    def __floordiv__(self, y):         """ x.__floordiv__(y) <==> x//y """        pass    def __format__(self, *args, **kwargs): # real signature unknown        pass    def __getattribute__(self, name):         """ x.__getattribute__('name') <==> x.name """        pass    def __getnewargs__(self, *args, **kwargs): # real signature unknown        """ 内部调用 __new__方法或创建对象时传入参数使用 """         pass    def __hash__(self):         """如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数。在字典查找中,哈希值用于快速比较字典的键。两个数值如果相等,则哈希值也相等。"""        """ x.__hash__() <==> hash(x) """        pass    def __hex__(self):         """ 返回当前数的 十六进制 表示 """         """ x.__hex__() <==> hex(x) """        pass    def __index__(self):         """ 用于切片,数字无意义 """        """ x[y:z] <==> x[y.__index__():z.__index__()] """        pass    def __init__(self, x, base=10): # known special case of int.__init__        """ 构造方法,执行 x = 123 或 x = int(10) 时,自动调用,暂时忽略 """         """        int(x=0) -> int or long        int(x, base=10) -> int or long                Convert a number or string to an integer, or return 0 if no arguments        are given.  If x is floating point, the conversion truncates towards zero.        If x is outside the integer range, the function returns a long instead.                If x is not a number or if base is given, then x must be a string or        Unicode object representing an integer literal in the given base.  The        literal can be preceded by '+' or '-' and be surrounded by whitespace.        The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to        interpret the base from the string as an integer literal.        >>> int('0b100', base=0)        4        # (copied from class doc)        """        pass    def __int__(self):         """ 转换为整数 """         """ x.__int__() <==> int(x) """        pass    def __invert__(self):         """ x.__invert__() <==> ~x """        pass    def __long__(self):         """ 转换为长整数 """         """ x.__long__() <==> long(x) """        pass    def __lshift__(self, y):         """ x.__lshift__(y) <==> x<<y """        pass    def __mod__(self, y):         """ x.__mod__(y) <==> x%y """        pass    def __mul__(self, y):         """ x.__mul__(y) <==> x*y """        pass    def __neg__(self):         """ x.__neg__() <==> -x """        pass    @staticmethod # known case of __new__    def __new__(S, *more):         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __nonzero__(self):         """ x.__nonzero__() <==> x != 0 """        pass    def __oct__(self):         """ 返回改值的 八进制 表示 """         """ x.__oct__() <==> oct(x) """        pass    def __or__(self, y):         """ x.__or__(y) <==> x|y """        pass    def __pos__(self):         """ x.__pos__() <==> +x """        pass    def __pow__(self, y, z=None):         """ 幂,次方 """         """ x.__pow__(y[, z]) <==> pow(x, y[, z]) """        pass    def __radd__(self, y):         """ x.__radd__(y) <==> y+x """        pass    def __rand__(self, y):         """ x.__rand__(y) <==> y&x """        pass    def __rdivmod__(self, y):         """ x.__rdivmod__(y) <==> divmod(y, x) """        pass    def __rdiv__(self, y):         """ x.__rdiv__(y) <==> y/x """        pass    def __repr__(self):         """转化为解释器可读取的形式 """        """ x.__repr__() <==> repr(x) """        pass    def __str__(self):         """转换为人阅读的形式,如果没有适于人阅读的解释形式的话,则返回解释器课阅读的形式"""        """ x.__str__() <==> str(x) """        pass    def __rfloordiv__(self, y):         """ x.__rfloordiv__(y) <==> y//x """        pass    def __rlshift__(self, y):         """ x.__rlshift__(y) <==> y<<x """        pass    def __rmod__(self, y):         """ x.__rmod__(y) <==> y%x """        pass    def __rmul__(self, y):         """ x.__rmul__(y) <==> y*x """        pass    def __ror__(self, y):         """ x.__ror__(y) <==> y|x """        pass    def __rpow__(self, x, z=None):         """ y.__rpow__(x[, z]) <==> pow(x, y[, z]) """        pass    def __rrshift__(self, y):         """ x.__rrshift__(y) <==> y>>x """        pass    def __rshift__(self, y):         """ x.__rshift__(y) <==> x>>y """        pass    def __rsub__(self, y):         """ x.__rsub__(y) <==> y-x """        pass    def __rtruediv__(self, y):         """ x.__rtruediv__(y) <==> y/x """        pass    def __rxor__(self, y):         """ x.__rxor__(y) <==> y^x """        pass    def __sub__(self, y):         """ x.__sub__(y) <==> x-y """        pass    def __truediv__(self, y):         """ x.__truediv__(y) <==> x/y """        pass    def __trunc__(self, *args, **kwargs):         """ 返回数值被截取为整形的值,在整形中无意义 """        pass    def __xor__(self, y):         """ x.__xor__(y) <==> x^y """        pass    denominator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 分母 = 1 """    """the denominator of a rational number in lowest terms"""    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 虚数,无意义 """    """the imaginary part of a complex number"""    numerator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 分子 = 数字大小 """    """the numerator of a rational number in lowest terms"""    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 实属,无意义 """    """the real part of a complex number"""
  • 你不用担心数值超过int的长度,python会自动转化long(长整)
class int(object):    """    int(x=0) -> int or long    int(x, base=10) -> int or long        Convert a number or string to an integer, or return 0 if no arguments    are given.  If x is floating point, the conversion truncates towards zero.    If x is outside the integer range, the function returns a long instead.        If x is not a number or if base is given, then x must be a string or    Unicode object representing an integer literal in the given base.  The    literal can be preceded by '+' or '-' and be surrounded by whitespace.    The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to    interpret the base from the string as an integer literal.    >>> int('0b100', base=0)    4    """    def bit_length(self):         """ 返回表示该数字的时占用的最少位数 """        """        int.bit_length() -> int                Number of bits necessary to represent self in binary.        >>> bin(37)        '0b100101'        >>> (37).bit_length()        6        """        return 0    def conjugate(self, *args, **kwargs): # real signature unknown        """ 返回该复数的共轭复数 """        """ Returns self, the complex conjugate of any int. """        pass    def __abs__(self):        """ 返回绝对值 """        """ x.__abs__() <==> abs(x) """        pass    def __add__(self, y):        """ x.__add__(y) <==> x+y """        pass    def __and__(self, y):        """ x.__and__(y) <==> x&y """        pass    def __cmp__(self, y):         """ 比较两个数大小 """        """ x.__cmp__(y) <==> cmp(x,y) """        pass    def __coerce__(self, y):        """ 强制生成一个元组 """         """ x.__coerce__(y) <==> coerce(x, y) """        pass    def __divmod__(self, y):         """ 相除,得到商和余数组成的元组 """         """ x.__divmod__(y) <==> divmod(x, y) """        pass    def __div__(self, y):         """ x.__div__(y) <==> x/y """        pass    def __float__(self):         """ 转换为浮点类型 """         """ x.__float__() <==> float(x) """        pass    def __floordiv__(self, y):         """ x.__floordiv__(y) <==> x//y """        pass    def __format__(self, *args, **kwargs): # real signature unknown        pass    def __getattribute__(self, name):         """ x.__getattribute__('name') <==> x.name """        pass    def __getnewargs__(self, *args, **kwargs): # real signature unknown        """ 内部调用 __new__方法或创建对象时传入参数使用 """         pass    def __hash__(self):         """如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数。在字典查找中,哈希值用于快速比较字典的键。两个数值如果相等,则哈希值也相等。"""        """ x.__hash__() <==> hash(x) """        pass    def __hex__(self):         """ 返回当前数的 十六进制 表示 """         """ x.__hex__() <==> hex(x) """        pass    def __index__(self):         """ 用于切片,数字无意义 """        """ x[y:z] <==> x[y.__index__():z.__index__()] """        pass    def __init__(self, x, base=10): # known special case of int.__init__        """ 构造方法,执行 x = 123 或 x = int(10) 时,自动调用,暂时忽略 """         """        int(x=0) -> int or long        int(x, base=10) -> int or long                Convert a number or string to an integer, or return 0 if no arguments        are given.  If x is floating point, the conversion truncates towards zero.        If x is outside the integer range, the function returns a long instead.                If x is not a number or if base is given, then x must be a string or        Unicode object representing an integer literal in the given base.  The        literal can be preceded by '+' or '-' and be surrounded by whitespace.        The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to        interpret the base from the string as an integer literal.        >>> int('0b100', base=0)        4        # (copied from class doc)        """        pass    def __int__(self):         """ 转换为整数 """         """ x.__int__() <==> int(x) """        pass    def __invert__(self):         """ x.__invert__() <==> ~x """        pass    def __long__(self):         """ 转换为长整数 """         """ x.__long__() <==> long(x) """        pass    def __lshift__(self, y):         """ x.__lshift__(y) <==> x<<y """        pass    def __mod__(self, y):         """ x.__mod__(y) <==> x%y """        pass    def __mul__(self, y):         """ x.__mul__(y) <==> x*y """        pass    def __neg__(self):         """ x.__neg__() <==> -x """        pass    @staticmethod # known case of __new__    def __new__(S, *more):         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __nonzero__(self):         """ x.__nonzero__() <==> x != 0 """        pass    def __oct__(self):         """ 返回改值的 八进制 表示 """         """ x.__oct__() <==> oct(x) """        pass    def __or__(self, y):         """ x.__or__(y) <==> x|y """        pass    def __pos__(self):         """ x.__pos__() <==> +x """        pass    def __pow__(self, y, z=None):         """ 幂,次方 """         """ x.__pow__(y[, z]) <==> pow(x, y[, z]) """        pass    def __radd__(self, y):         """ x.__radd__(y) <==> y+x """        pass    def __rand__(self, y):         """ x.__rand__(y) <==> y&x """        pass    def __rdivmod__(self, y):         """ x.__rdivmod__(y) <==> divmod(y, x) """        pass    def __rdiv__(self, y):         """ x.__rdiv__(y) <==> y/x """        pass    def __repr__(self):         """转化为解释器可读取的形式 """        """ x.__repr__() <==> repr(x) """        pass    def __str__(self):         """转换为人阅读的形式,如果没有适于人阅读的解释形式的话,则返回解释器课阅读的形式"""        """ x.__str__() <==> str(x) """        pass    def __rfloordiv__(self, y):         """ x.__rfloordiv__(y) <==> y//x """        pass    def __rlshift__(self, y):         """ x.__rlshift__(y) <==> y<<x """        pass    def __rmod__(self, y):         """ x.__rmod__(y) <==> y%x """        pass    def __rmul__(self, y):         """ x.__rmul__(y) <==> y*x """        pass    def __ror__(self, y):         """ x.__ror__(y) <==> y|x """        pass    def __rpow__(self, x, z=None):         """ y.__rpow__(x[, z]) <==> pow(x, y[, z]) """        pass    def __rrshift__(self, y):         """ x.__rrshift__(y) <==> y>>x """        pass    def __rshift__(self, y):         """ x.__rshift__(y) <==> x>>y """        pass    def __rsub__(self, y):         """ x.__rsub__(y) <==> y-x """        pass    def __rtruediv__(self, y):         """ x.__rtruediv__(y) <==> y/x """        pass    def __rxor__(self, y):         """ x.__rxor__(y) <==> y^x """        pass    def __sub__(self, y):         """ x.__sub__(y) <==> x-y """        pass    def __truediv__(self, y):         """ x.__truediv__(y) <==> x/y """        pass    def __trunc__(self, *args, **kwargs):         """ 返回数值被截取为整形的值,在整形中无意义 """        pass    def __xor__(self, y):         """ x.__xor__(y) <==> x^y """        pass    denominator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 分母 = 1 """    """the denominator of a rational number in lowest terms"""    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 虚数,无意义 """    """the imaginary part of a complex number"""    numerator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 分子 = 数字大小 """    """the numerator of a rational number in lowest terms"""    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default    """ 实属,无意义 """    """the real part of a complex number"""
View Code

  我们会看到有好多方法,还好多带两下划线的方法,你可能会想,这些我们都会经常用吗?

  那我告诉这些带两下划线的方法基本不用,这些方法是python私有方法,让我们来看一个小例子就知道python怎么私有化的

复制代码
str1 = 'you are 'str2 = 'very nice'result1 = str1.__add__(str2)print(result1)  #结果为you are very niceresult2 = str1 + str2print(result2)  #结果为you are very nice
复制代码

  好,两种方式的结果都是一样的,不过在python里,却是在执行第二种方式时调用了第一种方式

n1 = 123print(n1)  #结果为123n2 = int(123)print(n2)  #结果为123

  看着上面的代码,我们可以知道根据int类,创建一个对象有两种方式,而本质上是在执行方式一时调用了方式二,然后方式二又去int的特有功能里找到__init__并执行了它(后面讲的基础数据类型都是这两种创建方式,内部调用原理也一样)

  bit_length() 获取表示的二进制最短位数(什么?你看不懂?我讲的这么通俗易懂,你居然不懂?好吧,我讲的太官方了,看个小例子吧)

x = 2result1 = x.bit_length()x = 15result2 = x.bit_length()print(result1,result2,sep='---')  #结果为2---4

  看完例子懂了吧?2用二进制只要占两位,所以结果为2

  刚才我们简单的提了一下__init__,其实它还有第二参数--设置进制的

a1 = int('0b101',2)print(a1)  #结果为5

  来,让你看一张奇图,id()查看内存地址的方法

    

  看到没有?怎么会有这样的结果?

  结论就是:不同变量同一个数字要开辟两份内存空间,python对此进行了优化,让同一数字指向同一内存空间,节省内存,不过这也只适用-5-257,否则要用两份内存,另外,变量赋值给变量,拿n8 = n7说,这个赋值过程其实是n8先找到n7,在顺着n7找其对应2345的内存地址,所以它们的内存地址是一样的

 

   2.布尔值

    真或假

    1 或 0

 

  3.str(字符串)

class str(basestring):    """    str(object='') -> string        Return a nice string representation of the object.    If the argument is a string, the return value is the same object.    """    def capitalize(self):          """ 首字母变大写 """        """        S.capitalize() -> string                Return a copy of the string S with only its first character        capitalized.        """        return ""    def center(self, width, fillchar=None):          """ 内容居中,width:总长度;fillchar:空白处填充内容,默认无 """        """        S.center(width[, fillchar]) -> string                Return S centered in a string of length width. Padding is        done using the specified fill character (default is a space)        """        return ""    def count(self, sub, start=None, end=None):          """ 子序列个数 """        """        S.count(sub[, start[, end]]) -> int                Return the number of non-overlapping occurrences of substring sub in        string S[start:end].  Optional arguments start and end are interpreted        as in slice notation.        """        return 0    def decode(self, encoding=None, errors=None):          """ 解码 """        """        S.decode([encoding[,errors]]) -> object                Decodes S using the codec registered for encoding. encoding defaults        to the default encoding. errors may be given to set a different error        handling scheme. Default is 'strict' meaning that encoding errors raise        a UnicodeDecodeError. Other possible values are 'ignore' and 'replace'        as well as any other name registered with codecs.register_error that is        able to handle UnicodeDecodeErrors.        """        return object()    def encode(self, encoding=None, errors=None):          """ 编码,针对unicode """        """        S.encode([encoding[,errors]]) -> object                Encodes S using the codec registered for encoding. encoding defaults        to the default encoding. errors may be given to set a different error        handling scheme. Default is 'strict' meaning that encoding errors raise        a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and        'xmlcharrefreplace' as well as any other name registered with        codecs.register_error that is able to handle UnicodeEncodeErrors.        """        return object()    def endswith(self, suffix, start=None, end=None):          """ 是否以 xxx 结束 """        """        S.endswith(suffix[, start[, end]]) -> bool                Return True if S ends with the specified suffix, False otherwise.        With optional start, test S beginning at that position.        With optional end, stop comparing S at that position.        suffix can also be a tuple of strings to try.        """        return False    def expandtabs(self, tabsize=None):          """ 将tab转换成空格,默认一个tab转换成8个空格 """        """        S.expandtabs([tabsize]) -> string                Return a copy of S where all tab characters are expanded using spaces.        If tabsize is not given, a tab size of 8 characters is assumed.        """        return ""    def find(self, sub, start=None, end=None):          """ 寻找子序列位置,如果没找到,返回 -1 """        """        S.find(sub [,start [,end]]) -> int                Return the lowest index in S where substring sub is found,        such that sub is contained within S[start:end].  Optional        arguments start and end are interpreted as in slice notation.                Return -1 on failure.        """        return 0    def format(*args, **kwargs): # known special case of str.format        """ 字符串格式化,动态参数,将函数式编程时细说 """        """        S.format(*args, **kwargs) -> string                Return a formatted version of S, using substitutions from args and kwargs.        The substitutions are identified by braces ('{' and '}').        """        pass    def index(self, sub, start=None, end=None):          """ 子序列位置,如果没找到,报错 """        S.index(sub [,start [,end]]) -> int                Like S.find() but raise ValueError when the substring is not found.        """        return 0    def isalnum(self):          """ 是否是字母和数字 """        """        S.isalnum() -> bool                Return True if all characters in S are alphanumeric        and there is at least one character in S, False otherwise.        """        return False    def isalpha(self):          """ 是否是字母 """        """        S.isalpha() -> bool                Return True if all characters in S are alphabetic        and there is at least one character in S, False otherwise.        """        return False    def isdigit(self):          """ 是否是数字 """        """        S.isdigit() -> bool                Return True if all characters in S are digits        and there is at least one character in S, False otherwise.        """        return False    def islower(self):          """ 是否小写 """        """        S.islower() -> bool                Return True if all cased characters in S are lowercase and there is        at least one cased character in S, False otherwise.        """        return False    def isspace(self):          """        S.isspace() -> bool                Return True if all characters in S are whitespace        and there is at least one character in S, False otherwise.        """        return False    def istitle(self):          """        S.istitle() -> bool                Return True if S is a titlecased string and there is at least one        character in S, i.e. uppercase characters may only follow uncased        characters and lowercase characters only cased ones. Return False        otherwise.        """        return False    def isupper(self):          """        S.isupper() -> bool                Return True if all cased characters in S are uppercase and there is        at least one cased character in S, False otherwise.        """        return False    def join(self, iterable):          """ 连接 """        """        S.join(iterable) -> string                Return a string which is the concatenation of the strings in the        iterable.  The separator between elements is S.        """        return ""    def ljust(self, width, fillchar=None):          """ 内容左对齐,右侧填充 """        """        S.ljust(width[, fillchar]) -> string                Return S left-justified in a string of length width. Padding is        done using the specified fill character (default is a space).        """        return ""    def lower(self):          """ 变小写 """        """        S.lower() -> string                Return a copy of the string S converted to lowercase.        """        return ""    def lstrip(self, chars=None):          """ 移除左侧空白 """        """        S.lstrip([chars]) -> string or unicode                Return a copy of the string S with leading whitespace removed.        If chars is given and not None, remove characters in chars instead.        If chars is unicode, S will be converted to unicode before stripping        """        return ""    def partition(self, sep):          """ 分割,前,中,后三部分 """        """        S.partition(sep) -> (head, sep, tail)                Search for the separator sep in S, and return the part before it,        the separator itself, and the part after it.  If the separator is not        found, return S and two empty strings.        """        pass    def replace(self, old, new, count=None):          """ 替换 """        """        S.replace(old, new[, count]) -> string                Return a copy of string S with all occurrences of substring        old replaced by new.  If the optional argument count is        given, only the first count occurrences are replaced.        """        return ""    def rfind(self, sub, start=None, end=None):          """        S.rfind(sub [,start [,end]]) -> int                Return the highest index in S where substring sub is found,        such that sub is contained within S[start:end].  Optional        arguments start and end are interpreted as in slice notation.                Return -1 on failure.        """        return 0    def rindex(self, sub, start=None, end=None):          """        S.rindex(sub [,start [,end]]) -> int                Like S.rfind() but raise ValueError when the substring is not found.        """        return 0    def rjust(self, width, fillchar=None):          """        S.rjust(width[, fillchar]) -> string                Return S right-justified in a string of length width. Padding is        done using the specified fill character (default is a space)        """        return ""    def rpartition(self, sep):          """        S.rpartition(sep) -> (head, sep, tail)                Search for the separator sep in S, starting at the end of S, and return        the part before it, the separator itself, and the part after it.  If the        separator is not found, return two empty strings and S.        """        pass    def rsplit(self, sep=None, maxsplit=None):          """        S.rsplit([sep [,maxsplit]]) -> list of strings                Return a list of the words in the string S, using sep as the        delimiter string, starting at the end of the string and working        to the front.  If maxsplit is given, at most maxsplit splits are        done. If sep is not specified or is None, any whitespace string        is a separator.        """        return []    def rstrip(self, chars=None):          """        S.rstrip([chars]) -> string or unicode                Return a copy of the string S with trailing whitespace removed.        If chars is given and not None, remove characters in chars instead.        If chars is unicode, S will be converted to unicode before stripping        """        return ""    def split(self, sep=None, maxsplit=None):          """ 分割, maxsplit最多分割几次 """        """        S.split([sep [,maxsplit]]) -> list of strings                Return a list of the words in the string S, using sep as the        delimiter string.  If maxsplit is given, at most maxsplit        splits are done. If sep is not specified or is None, any        whitespace string is a separator and empty strings are removed        from the result.        """        return []    def splitlines(self, keepends=False):          """ 根据换行分割 """        """        S.splitlines(keepends=False) -> list of strings                Return a list of the lines in S, breaking at line boundaries.        Line breaks are not included in the resulting list unless keepends        is given and true.        """        return []    def startswith(self, prefix, start=None, end=None):          """ 是否起始 """        """        S.startswith(prefix[, start[, end]]) -> bool                Return True if S starts with the specified prefix, False otherwise.        With optional start, test S beginning at that position.        With optional end, stop comparing S at that position.        prefix can also be a tuple of strings to try.        """        return False    def strip(self, chars=None):          """ 移除两段空白 """        """        S.strip([chars]) -> string or unicode                Return a copy of the string S with leading and trailing        whitespace removed.        If chars is given and not None, remove characters in chars instead.        If chars is unicode, S will be converted to unicode before stripping        """        return ""    def swapcase(self):          """ 大写变小写,小写变大写 """        """        S.swapcase() -> string                Return a copy of the string S with uppercase characters        converted to lowercase and vice versa.        """        return ""    def title(self):          """        S.title() -> string                Return a titlecased version of S, i.e. words start with uppercase        characters, all remaining cased characters have lowercase.        """        return ""    def translate(self, table, deletechars=None):          """        转换,需要先做一个对应表,最后一个表示删除字符集合        intab = "aeiou"        outtab = "12345"        trantab = maketrans(intab, outtab)        str = "this is string example....wow!!!"        print str.translate(trantab, 'xm')        """        """        S.translate(table [,deletechars]) -> string                Return a copy of the string S, where all characters occurring        in the optional argument deletechars are removed, and the        remaining characters have been mapped through the given        translation table, which must be a string of length 256 or None.        If the table argument is None, no translation is applied and        the operation simply removes the characters in deletechars.        """        return ""    def upper(self):          """        S.upper() -> string                Return a copy of the string S converted to uppercase.        """        return ""    def zfill(self, width):          """方法返回指定长度的字符串,原字符串右对齐,前面填充0。"""        """        S.zfill(width) -> string                Pad a numeric string S with zeros on the left, to fill a field        of the specified width.  The string S is never truncated.        """        return ""    def _formatter_field_name_split(self, *args, **kwargs): # real signature unknown        pass    def _formatter_parser(self, *args, **kwargs): # real signature unknown        pass    def __add__(self, y):          """ x.__add__(y) <==> x+y """        pass    def __contains__(self, y):          """ x.__contains__(y) <==> y in x """        pass    def __eq__(self, y):          """ x.__eq__(y) <==> x==y """        pass    def __format__(self, format_spec):          """        S.__format__(format_spec) -> string                Return a formatted version of S as described by format_spec.        """        return ""    def __getattribute__(self, name):          """ x.__getattribute__('name') <==> x.name """        pass    def __getitem__(self, y):          """ x.__getitem__(y) <==> x[y] """        pass    def __getnewargs__(self, *args, **kwargs): # real signature unknown        pass    def __getslice__(self, i, j):          """        x.__getslice__(i, j) <==> x[i:j]                                      Use of negative indices is not supported.        """        pass    def __ge__(self, y):          """ x.__ge__(y) <==> x>=y """        pass    def __gt__(self, y):          """ x.__gt__(y) <==> x>y """        pass    def __hash__(self):          """ x.__hash__() <==> hash(x) """        pass    def __init__(self, string=''): # known special case of str.__init__        """        str(object='') -> string                Return a nice string representation of the object.        If the argument is a string, the return value is the same object.        # (copied from class doc)        """        pass    def __len__(self):          """ x.__len__() <==> len(x) """        pass    def __le__(self, y):          """ x.__le__(y) <==> x<=y """        pass    def __lt__(self, y):          """ x.__lt__(y) <==> x<y """        pass    def __mod__(self, y):          """ x.__mod__(y) <==> x%y """        pass    def __mul__(self, n):          """ x.__mul__(n) <==> x*n """        pass    @staticmethod # known case of __new__    def __new__(S, *more):          """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __ne__(self, y):          """ x.__ne__(y) <==> x!=y """        pass    def __repr__(self):          """ x.__repr__() <==> repr(x) """        pass    def __rmod__(self, y):          """ x.__rmod__(y) <==> y%x """        pass    def __rmul__(self, n):          """ x.__rmul__(n) <==> n*x """        pass    def __sizeof__(self):          """ S.__sizeof__() -> size of S in memory, in bytes """        pass    def __str__(self):          """ x.__str__() <==> str(x) """        pass
View Code
  • str_name.join(可迭代数据)
复制代码
str1 = 'alex's = '-'.join(str1)print(s)  #结果为a-l-e-xli1 = ['alex','eric','wu']s = '-'.join(li1)print(s)  #结果为alex-eric-wudict1 = {'k1':'alex','k2':'eric'}s = '-'.join(dict1)print(s)  #结果为k1-k2
复制代码
  • str_name.strip() 去两边空格 和lstrip 去左边空格、rstrip 去右边空格
复制代码
str1 = '  a lex  eric   'x1 = str1.strip()x2 = str1.lstrip()x3 = str1.rstrip()print(x1,len(x1))print(x2,len(x2))print(x3,len(x3))结果为:a lex  eric 11a lex  eric    14  a lex  eric 13
复制代码
  • str_name.partition(sub) 以某个子串把前后两侧分开,而且匹配第一个  返回元组
  • str_name.split(sub)  以某个子串分后,并提出这个子串,匹配所有的     返回列表
str1 = 'alexshaobingalexshaobingalex'x1 = str1.partition('shaobing')print(x1)   #结果为('alex', 'shaobing', 'alexshaobingalex')x2 = str1.split('shaobing')print(x2)  #结果为['alex', 'alex', 'alex']
  • str_name.replace() 替换
str1 = 'ericshaobingericshaobingeric'x1 = str1.replace('shaobing','**')print(x1)  #结果为eric**eric**eric
  • str_name.title()  可以理解为对每个单词进行首字母大写处理
复制代码
str1 = 'Alex'x1 = str1.istitle() print(x1)  #结果为Truestr2 = 'alex'x2 = str2.istitle()print(x2)  #结果为Falsex3 = str2.title()print(x3)  #结果为Alex
复制代码
  • str_name.startswith()  以什么开头 和endswith() 以什么结尾
复制代码
s = 'eric'result1 = s.startswith('e')print(result1)   #结果为Trueresult2 = s.endswith('c')print(result2)   #结果为Trueresult3 = s.endswith('a')print(result3)   #结果为False
复制代码
  • str_name.find() 找到子串并返回索引位置,找不到返回-1,而index()就会报错
s1 = 'alex'x1 = s1.find('e')print(x1)  #结果为2x2 = s1.find('c')print(x2)  #找不到返回-1
  • str_name.upper() 变大写
s1 = 'alex'result = s1.upper()print(result)  #结果为ALEX
  • str_name.is..类型   判断是不是什么类型,返回Ture或Fulse
复制代码
s1 = '123'result1 = s1.isdigit()print(result1)  #结果为Trues2 = '245x'result2 = s2.isdigit()print(result2)  #结果为False
复制代码
  • len() 统计字符个数
s1 = 'alexeric'x = len(s1)print(x)  #结果为8
  • 索引 str_name[num]  获取一个字符(语言程序给每个元素按从左往右,第一个为0开始,编排一个位置,这个位置我们就叫做索引位置)
str1 = 'alex'x1 = str1[2]print(x1)  #结果为e
  • 切片 str_name[start_num:end_num] 获取从start_name到end_name - 1项字符
str1 = 'jixjidngisdgnsjci'x1 = str1[:]   #获取整个字符串x2 = str1[1:6]print(x1)     #结果为jixjidngisdgnsjciprint(x2)     #结果为ixjid
  • for循环 字符串里的字符可以用来循环的
复制代码
s = 'alex'for i in s:    print(i)结果为:        a        l        e        x
复制代码

 

   4.list(列表)

class list(object):    """    list() -> new empty list    list(iterable) -> new list initialized from iterable's items    """    def append(self, p_object): # real signature unknown; restored from __doc__        """ L.append(object) -- append object to end """        pass    def count(self, value): # real signature unknown; restored from __doc__        """ L.count(value) -> integer -- return number of occurrences of value """        return 0    def extend(self, iterable): # real signature unknown; restored from __doc__        """ L.extend(iterable) -- extend list by appending elements from the iterable """        pass    def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__        """        L.index(value, [start, [stop]]) -> integer -- return first index of value.        Raises ValueError if the value is not present.        """        return 0    def insert(self, index, p_object): # real signature unknown; restored from __doc__        """ L.insert(index, object) -- insert object before index """        pass    def pop(self, index=None): # real signature unknown; restored from __doc__        """        L.pop([index]) -> item -- remove and return item at index (default last).        Raises IndexError if list is empty or index is out of range.        """        pass    def remove(self, value): # real signature unknown; restored from __doc__        """        L.remove(value) -- remove first occurrence of value.        Raises ValueError if the value is not present.        """        pass    def reverse(self): # real signature unknown; restored from __doc__        """ L.reverse() -- reverse *IN PLACE* """        pass    def sort(self, cmp=None, key=None, reverse=False): # real signature unknown; restored from __doc__        """        L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;        cmp(x, y) -> -1, 0, 1        """        pass    def __add__(self, y): # real signature unknown; restored from __doc__        """ x.__add__(y) <==> x+y """        pass    def __contains__(self, y): # real signature unknown; restored from __doc__        """ x.__contains__(y) <==> y in x """        pass    def __delitem__(self, y): # real signature unknown; restored from __doc__        """ x.__delitem__(y) <==> del x[y] """        pass    def __delslice__(self, i, j): # real signature unknown; restored from __doc__        """        x.__delslice__(i, j) <==> del x[i:j]                                      Use of negative indices is not supported.        """        pass    def __eq__(self, y): # real signature unknown; restored from __doc__        """ x.__eq__(y) <==> x==y """        pass    def __getattribute__(self, name): # real signature unknown; restored from __doc__        """ x.__getattribute__('name') <==> x.name """        pass    def __getitem__(self, y): # real signature unknown; restored from __doc__        """ x.__getitem__(y) <==> x[y] """        pass    def __getslice__(self, i, j): # real signature unknown; restored from __doc__        """        x.__getslice__(i, j) <==> x[i:j]                                      Use of negative indices is not supported.        """        pass    def __ge__(self, y): # real signature unknown; restored from __doc__        """ x.__ge__(y) <==> x>=y """        pass    def __gt__(self, y): # real signature unknown; restored from __doc__        """ x.__gt__(y) <==> x>y """        pass    def __iadd__(self, y): # real signature unknown; restored from __doc__        """ x.__iadd__(y) <==> x+=y """        pass    def __imul__(self, y): # real signature unknown; restored from __doc__        """ x.__imul__(y) <==> x*=y """        pass    def __init__(self, seq=()): # known special case of list.__init__        """        list() -> new empty list        list(iterable) -> new list initialized from iterable's items        # (copied from class doc)        """        pass    def __iter__(self): # real signature unknown; restored from __doc__        """ x.__iter__() <==> iter(x) """        pass    def __len__(self): # real signature unknown; restored from __doc__        """ x.__len__() <==> len(x) """        pass    def __le__(self, y): # real signature unknown; restored from __doc__        """ x.__le__(y) <==> x<=y """        pass    def __lt__(self, y): # real signature unknown; restored from __doc__        """ x.__lt__(y) <==> x<y """        pass    def __mul__(self, n): # real signature unknown; restored from __doc__        """ x.__mul__(n) <==> x*n """        pass    @staticmethod # known case of __new__    def __new__(S, *more): # real signature unknown; restored from __doc__        """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __ne__(self, y): # real signature unknown; restored from __doc__        """ x.__ne__(y) <==> x!=y """        pass    def __repr__(self): # real signature unknown; restored from __doc__        """ x.__repr__() <==> repr(x) """        pass    def __reversed__(self): # real signature unknown; restored from __doc__        """ L.__reversed__() -- return a reverse iterator over the list """        pass    def __rmul__(self, n): # real signature unknown; restored from __doc__        """ x.__rmul__(n) <==> n*x """        pass    def __setitem__(self, i, y): # real signature unknown; restored from __doc__        """ x.__setitem__(i, y) <==> x[i]=y """        pass    def __setslice__(self, i, j, y): # real signature unknown; restored from __doc__        """        x.__setslice__(i, j, y) <==> x[i:j]=y                                      Use  of negative indices is not supported.        """        pass    def __sizeof__(self): # real signature unknown; restored from __doc__        """ L.__sizeof__() -- size of L in memory, in bytes """        pass    __hash__ = Nonelist
View Code
  • 列表属于序列型数据类型,所以可以通过索引和切片来访问
  • 语法结构 list_name[index]  切片
li = [1,2,3,6,5,4]print(li[2])       #结果为3
  • 当然也通过索引删除数据项  del list_name[index]
li = [1,2,3,6,5,4]del li[2]print(li)     #结果为[1, 2, 6, 5, 4],删除了3
  • 列表的切片  语法结构:list_name[start:end:step]  切片的返回结果也为列表

li = [1,2,3,6,5,4]print(li[2])       #结
  • 切片删除del list_name[start;end]  删除start到end-1项
li = [1,2,3,4,5]print(li[2:4])  #结果为[3, 4]del li[1:3]print(li)       #结果为[1, 4, 5],删除2,3
  • 加法
复制代码
li1 = [4,2,6,2,9,3,3]li2 = range(10,15)     #range函数现在输出的不是列表print(li2)             #结果为range(10, 15)li2 = list(li2)        #转换为列表,再做加法(python3里range不能和列表直接串接)li3 = li1 + li2print(li3)             #结果为[4, 2, 6, 2, 9, 3, 3, 10, 11, 12, 13, 14]
复制代码
  • 乘法
lis1 = ['that','good','boy']lis2 = lis1 * 3print(lis2)  #结果为['that', 'good', 'boy', 'that', 'good', 'boy', 'that', 'good', 'boy']
  • 列表的in和not in运算判断列表是否包含某个值
复制代码
lis1 = [2,6,8,9]if 2 not in lis1:     #条件不成立,所以下面没有输出    print('yes 2 not in lis1')lis2 = ['that','good','boy']if 'that' in lis2:    print('yes that in lis1')  #结果为yes that in lis1
复制代码
  • 列表的遍历  for循环
复制代码
li1 = [1,23,69,452]li2 = li1 * 2i = 0            #标记项初始化for val in li2:    print('第%d项:'%(i),val)   #格式化控制字    i +=1结果为:    第0项: 1    第1项: 23    第2项: 69    第3项: 452    第4项: 1    第5项: 23    第6项: 69    第7项: 452
复制代码
  • 语法[val_expr for val in list_name]   val_expr是变量val的运算表达式,val用于存储for每次从list_name列表里取出的值,用每个val_expr的值作为构建新列表的元素项
复制代码
li = [1,5,3,9]li1 = [x**3 for x in li]print(li1)  #结果为[1, 125, 27, 729]li2 = [x for x in range(4)]print(li2)  #结果为[0, 1, 2, 3]li3 = [li2 for x in range(4)]   print(li3)  #结果为[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]li4 = [li2 for x in li]         print(li4)  #结果为[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]li4 = [2 for x in range(4)]     #当val_expr为常项时,按后面列表项数为重复次数print(li4)  #结果为[2, 2, 2, 2]   
复制代码
  • 统计项数  len函数
li = list(range(1,9))print(len(li))  #结果为8
  • count函数  统计元素项相同的一个有几个
复制代码
li1 = ['you','are','beautiful','girl']li1 = li1 * 2print(li1)  #结果为['you', 'are', 'beautiful', 'girl', 'you', 'are', 'beautiful', 'girl']print(li1.count('beautiful'))  #结果为2del li1[2]                   #删除beautifulprint(li1)  #结果为['you', 'are', 'girl', 'you', 'are', 'beautiful', 'girl']print(li1.count(li1[5]))     #删除一个beautiful后统计beautiful,结果为1
复制代码
  • insert(index,元素) 指定位置插入
li1 = ['let','is','make','love','everywhere']li1.insert(2,99)print(li1)  #结果为['let', 'is', 99, 'make', 'love', 'everywhere']
  • append 指定项添加
复制代码
li1 = ['let','is','make','love','everywhere']li2 = []for val in li1:    li2.append(val)print(li2)  #结果为['let', 'is', 'make', 'love', 'everywhere']li2.append('pai')print(li2)  #结果为['let', 'is', 'make', 'love', 'everywhere', 'pai']li2.append(list(range(8)))     #以一个整体项添加到列表的末尾print(li2)  #结果为['let', 'is', 'make', 'love', 'everywhere', 'pai', [0, 1, 2, 3, 4, 5, 6, 7]]
复制代码
  • extend函数 扩展函数 扩展列表是拆成单项加入被扩展列表的末尾
li1 = list(range(5))li2 = list(range(6,9))li1.extend(li2)print(li1)  #结果为[0, 1, 2, 3, 4, 6, 7, 8]
  • remove 指定项删除函数,而且只会匹配第一个删除
list1 = ['That','is','life','beautiful']list1 = list1 * 2print(list1)  #结果为['That', 'is', 'life', 'beautiful', 'That', 'is', 'life', 'beautiful']list1.remove('is')print(list1)  #结果为['That', 'life', 'beautiful', 'That', 'is', 'life', 'beautiful']
  • pop 默认最后一项删除,也可指定位置删除,并且删除时有返回值,返回值为即将要删除的
list1 = ['That','is','life','beautiful'] * 2list1.pop()print(list1)  #结果为['That', 'is', 'life', 'beautiful', 'That', 'is', 'life']return_val = list1.pop(2)print(return_val,list1)  #结果为life ['That', 'is', 'beautiful', 'That', 'is', 'life']
  •   list_name.reverse()  元素顺序反转

lis = ['alex',55,22,'eric','nice']lis.reverse()  #结果为['nice', 'eric', 22, 55, 'alex']print(lis)
  •   list_name.sore()  从小到大排序
li = [25,3,89,24,2541,58,41]li.sort()  print(li)  #结果为[3, 24, 25, 41, 58, 89, 2541]

 

 

   5.tuple(元组)

lass tuple(object):    """    tuple() -> empty tuple    tuple(iterable) -> tuple initialized from iterable's items        If the argument is a tuple, the return value is the same object.    """    def count(self, value): # real signature unknown; restored from __doc__        """ T.count(value) -> integer -- return number of occurrences of value """        return 0    def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__        """        T.index(value, [start, [stop]]) -> integer -- return first index of value.        Raises ValueError if the value is not present.        """        return 0    def __add__(self, y): # real signature unknown; restored from __doc__        """ x.__add__(y) <==> x+y """        pass    def __contains__(self, y): # real signature unknown; restored from __doc__        """ x.__contains__(y) <==> y in x """        pass    def __eq__(self, y): # real signature unknown; restored from __doc__        """ x.__eq__(y) <==> x==y """        pass    def __getattribute__(self, name): # real signature unknown; restored from __doc__        """ x.__getattribute__('name') <==> x.name """        pass    def __getitem__(self, y): # real signature unknown; restored from __doc__        """ x.__getitem__(y) <==> x[y] """        pass    def __getnewargs__(self, *args, **kwargs): # real signature unknown        pass    def __getslice__(self, i, j): # real signature unknown; restored from __doc__        """        x.__getslice__(i, j) <==> x[i:j]                                      Use of negative indices is not supported.        """        pass    def __ge__(self, y): # real signature unknown; restored from __doc__        """ x.__ge__(y) <==> x>=y """        pass    def __gt__(self, y): # real signature unknown; restored from __doc__        """ x.__gt__(y) <==> x>y """        pass    def __hash__(self): # real signature unknown; restored from __doc__        """ x.__hash__() <==> hash(x) """        pass    def __init__(self, seq=()): # known special case of tuple.__init__        """        tuple() -> empty tuple        tuple(iterable) -> tuple initialized from iterable's items                If the argument is a tuple, the return value is the same object.        # (copied from class doc)        """        pass    def __iter__(self): # real signature unknown; restored from __doc__        """ x.__iter__() <==> iter(x) """        pass    def __len__(self): # real signature unknown; restored from __doc__        """ x.__len__() <==> len(x) """        pass    def __le__(self, y): # real signature unknown; restored from __doc__        """ x.__le__(y) <==> x<=y """        pass    def __lt__(self, y): # real signature unknown; restored from __doc__        """ x.__lt__(y) <==> x<y """        pass    def __mul__(self, n): # real signature unknown; restored from __doc__        """ x.__mul__(n) <==> x*n """        pass    @staticmethod # known case of __new__    def __new__(S, *more): # real signature unknown; restored from __doc__        """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __ne__(self, y): # real signature unknown; restored from __doc__        """ x.__ne__(y) <==> x!=y """        pass    def __repr__(self): # real signature unknown; restored from __doc__        """ x.__repr__() <==> repr(x) """        pass    def __rmul__(self, n): # real signature unknown; restored from __doc__        """ x.__rmul__(n) <==> n*x """        pass    def __sizeof__(self): # real signature unknown; restored from __doc__        """ T.__sizeof__() -- size of T in memory, in bytes """        pass复制代码
View Code
  • tuple的值不可修改,只支持查(切片和索引),另外还有可循环元组里的元素,长度len统计,成员运算,由于这些方法和列表相同,我这里就不赘述了
  • 创建单个元素的元组:tuple1 = (1,)
  • 元组的儿子不能变,但是孙子可以变
复制代码
t = (11,22,['alex',{'k1':'v1'}])t[2].append('eric')print(t)   #(11, 22, ['alex', {'k1': 'v1'}, 'eric'])del t[2][1]print(t)  #(11, 22, ['alex', 'eric'])# del t[2]# print(t)  #报错
复制代码

 

  6.dict(字典)

class dict(object):    """    dict() -> new empty dictionary    dict(mapping) -> new dictionary initialized from a mapping object's        (key, value) pairs    dict(iterable) -> new dictionary initialized as if via:        d = {}        for k, v in iterable:            d[k] = v    dict(**kwargs) -> new dictionary initialized with the name=value pairs        in the keyword argument list.  For example:  dict(one=1, two=2)    """    def clear(self): # real signature unknown; restored from __doc__        """ 清除内容 """        """ D.clear() -> None.  Remove all items from D. """        pass    def copy(self): # real signature unknown; restored from __doc__        """ 浅拷贝 """        """ D.copy() -> a shallow copy of D """        pass    @staticmethod # known case    def fromkeys(S, v=None): # real signature unknown; restored from __doc__        """        dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.        v defaults to None.        """        pass    def get(self, k, d=None): # real signature unknown; restored from __doc__        """ 根据key获取值,d是默认值 """        """ D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None. """        pass    def has_key(self, k): # real signature unknown; restored from __doc__        """ 是否有key """        """ D.has_key(k) -> True if D has a key k, else False """        return False    def items(self): # real signature unknown; restored from __doc__        """ 所有项的列表形式 """        """ D.items() -> list of D's (key, value) pairs, as 2-tuples """        return []    def iteritems(self): # real signature unknown; restored from __doc__        """ 项可迭代 """        """ D.iteritems() -> an iterator over the (key, value) items of D """        pass    def iterkeys(self): # real signature unknown; restored from __doc__        """ key可迭代 """        """ D.iterkeys() -> an iterator over the keys of D """        pass    def itervalues(self): # real signature unknown; restored from __doc__        """ value可迭代 """        """ D.itervalues() -> an iterator over the values of D """        pass    def keys(self): # real signature unknown; restored from __doc__        """ 所有的key列表 """        """ D.keys() -> list of D's keys """        return []    def pop(self, k, d=None): # real signature unknown; restored from __doc__        """ 获取并在字典中移除 """        """        D.pop(k[,d]) -> v, remove specified key and return the corresponding value.        If key is not found, d is returned if given, otherwise KeyError is raised        """        pass    def popitem(self): # real signature unknown; restored from __doc__        """ 获取并在字典中移除 """        """        D.popitem() -> (k, v), remove and return some (key, value) pair as a        2-tuple; but raise KeyError if D is empty.        """        pass    def setdefault(self, k, d=None): # real signature unknown; restored from __doc__        """ 如果key不存在,则创建,如果存在,则返回已存在的值且不修改 """        """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """        pass    def update(self, E=None, **F): # known special case of dict.update        """ 更新            {'name':'alex', 'age': 18000}            [('name','sbsbsb'),]        """        """        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.        If E present and has a .keys() method, does:     for k in E: D[k] = E[k]        If E present and lacks .keys() method, does:     for (k, v) in E: D[k] = v        In either case, this is followed by: for k in F: D[k] = F[k]        """        pass    def values(self): # real signature unknown; restored from __doc__        """ 所有的值 """        """ D.values() -> list of D's values """        return []    def viewitems(self): # real signature unknown; restored from __doc__        """ 所有项,只是将内容保存至view对象中 """        """ D.viewitems() -> a set-like object providing a view on D's items """        pass    def viewkeys(self): # real signature unknown; restored from __doc__        """ D.viewkeys() -> a set-like object providing a view on D's keys """        pass    def viewvalues(self): # real signature unknown; restored from __doc__        """ D.viewvalues() -> an object providing a view on D's values """        pass    def __cmp__(self, y): # real signature unknown; restored from __doc__        """ x.__cmp__(y) <==> cmp(x,y) """        pass    def __contains__(self, k): # real signature unknown; restored from __doc__        """ D.__contains__(k) -> True if D has a key k, else False """        return False    def __delitem__(self, y): # real signature unknown; restored from __doc__        """ x.__delitem__(y) <==> del x[y] """        pass    def __eq__(self, y): # real signature unknown; restored from __doc__        """ x.__eq__(y) <==> x==y """        pass    def __getattribute__(self, name): # real signature unknown; restored from __doc__        """ x.__getattribute__('name') <==> x.name """        pass    def __getitem__(self, y): # real signature unknown; restored from __doc__        """ x.__getitem__(y) <==> x[y] """        pass    def __ge__(self, y): # real signature unknown; restored from __doc__        """ x.__ge__(y) <==> x>=y """        pass    def __gt__(self, y): # real signature unknown; restored from __doc__        """ x.__gt__(y) <==> x>y """        pass    def __init__(self, seq=None, **kwargs): # known special case of dict.__init__        """        dict() -> new empty dictionary        dict(mapping) -> new dictionary initialized from a mapping object's            (key, value) pairs        dict(iterable) -> new dictionary initialized as if via:            d = {}            for k, v in iterable:                d[k] = v        dict(**kwargs) -> new dictionary initialized with the name=value pairs            in the keyword argument list.  For example:  dict(one=1, two=2)        # (copied from class doc)        """        pass    def __iter__(self): # real signature unknown; restored from __doc__        """ x.__iter__() <==> iter(x) """        pass    def __len__(self): # real signature unknown; restored from __doc__        """ x.__len__() <==> len(x) """        pass    def __le__(self, y): # real signature unknown; restored from __doc__        """ x.__le__(y) <==> x<=y """        pass    def __lt__(self, y): # real signature unknown; restored from __doc__        """ x.__lt__(y) <==> x<y """        pass    @staticmethod # known case of __new__    def __new__(S, *more): # real signature unknown; restored from __doc__        """ T.__new__(S, ...) -> a new object with type S, a subtype of T """        pass    def __ne__(self, y): # real signature unknown; restored from __doc__        """ x.__ne__(y) <==> x!=y """        pass    def __repr__(self): # real signature unknown; restored from __doc__        """ x.__repr__() <==> repr(x) """        pass    def __setitem__(self, i, y): # real signature unknown; restored from __doc__        """ x.__setitem__(i, y) <==> x[i]=y """        pass    def __sizeof__(self): # real signature unknown; restored from __doc__        """ D.__sizeof__() -> size of D in memory, in bytes """        pass    __hash__ = None复制代码
View Code
  • 每一项元素都为一个键值对
  • for i in dict_name  默认循环字典的key
复制代码
dict1 = {'k1':123,'k2':456}for i in dict1:    print(i)结果为:        k1        k2
复制代码
  • dict_name.keys()所有的key键  values 所有的值 和 items 所有的键值对
复制代码
dict1 = {'k1':123,'k2':456}x = dict1.keys()print(x)  #结果为dict_keys(['k2', 'k1'])for v in dict1.values():    print(v)结果为:        456        123for k,v in dict1.items():    print(k,v)结果为:        k2 456        k1 123
复制代码
  • dict_name.get() 根据key获取值,如果key不存在,则返回一个默认值None,索引对于不存在的键报错
复制代码
dict1 = {'k1':123,'k2':456}x = dict1.get('k1')print(x)     #结果为123x1 = dict1.get('k3')print(x1)    #结果为None# x2 = dict1['k3']# print(x2)  #报错
复制代码
  •  判断某个键是否在字典里
dict1 = {'k1':123,'k2':456}ret = 'k1' in dict1.keys()print(ret)  #结果为Trueret2 = 'k3' in dict1.keys()print(ret2)  #结果为False
  • dict_name.update() 字典更新
dict1 = {'k1':123,'k2':456}dict2 = {'k1':234,'k3':'hello'}dict1.update(dict2)print(dict1)  #结果为{'k2': 456, 'k3': 'hello', 'k1': 234}
  • del dict_name[‘key’] 字典key对应的键值对  dict_name.clear() 清空字典
dic = {'k2': 456, 'k3': 'hello', 'k1': 234}del dic['k2']print(dic)  #结果为{'k3': 'hello', 'k1': 234}dic.clear()print(dic)  #结果为{}
  •  dict_name.fromkeys()  说不清这玩意干啥的,直接看效果吧
复制代码
dic = {'k2': 456, 'k3': 'hello', 'k1': 234}n = dic.fromkeys(['k1','k2'],'alex')print(n)  #结果为{'k2': 'alex', 'k1': 'alex'}n2 = dic.fromkeys(['k1','k2','k3'],[])print(n2)  #结果为{'k2': [], 'k3': [], 'k1': []}n2['k1'].append('nice')print(n2)  #结果为{'k2': ['nice'], 'k3': ['nice'], 'k1': ['nice']}
复制代码
  • len函数可以测得字典的数据项个数
dic = {'k2': 456, 'k3': 'hello', 'k1': 234}n = len(dic)print(n)  #结果为3
  • 字典元素值得访问可以通过键获取其对应的值
  • 字典元素值得修改也可以通过键修改其对应的值
dic = {'k2': 456, 'k3': 'hello', 'k1': 234}value1 = dic['k3']print(value1)  #结果为hellodic['k2'] = 'nice'print(dic)     #结果为{'k2': 'nice', 'k1': 234, 'k3': 'hello'}
  • 字典元素项的添加,可以通过dict_name[新键] = 新值  的方式来添加
dic = {'k2': 456, 'k3': 'hello', 'k1': 234}dic['k4'] = 'nice'print(dic) #结果为{'k3': 'hello', 'k2': 456, 'k4': 'nice', 'k1': 234}
  • enumerate(可迭代的)  自动加上为索引位置的key
复制代码
li = ['跑车','美女','电脑']for key,item in enumerate(li,1):    print(key,item)inp = int(input('请输入商品序号:'))print(li[inp - 1])结果为:        1 跑车        2 美女        3 电脑        请输入商品序号:2        美女
复制代码

  

  7.bytes(字节)

  • 字符转换成字节
复制代码
name = '小刘'for i in name:    print(i)    bytes_list = bytes(i,encoding = 'utf-8')    print(bytes_list)    for b in bytes_list:        print(b)        print(bin(b))结果为:        小        b'\xe5\xb0\x8f' #输出列表时,默认十六进制        229             #十进制,输出单个字节时默认十进制        0b11100101      #bin(十进制)  转为二进制        176        0b10110000        143        0b10001111        刘        b'\xe5\x88\x98'        229        0b11100101        136        0b10001000        152        0b10011000
复制代码
  • 字节转换成字符串
复制代码
a = '李璐'b1 = bytes(a,encoding='utf-8')print(b1)  #b'\xe6\x9d\x8e\xe7\x92\x90'b2 = bytes(a,encoding='gbk')print(b2)  #b'\xc0\xee\xe8\xb4'newal = str(b1,encoding='utf-8')print(newal)  #李璐newa2 = str(b2,encoding='gbk')print(newa2)  #李璐
复制代码

转载自:http://www.cnblogs.com/xinsiwei18/p/5515425.html

原创粉丝点击