3

python内置的数据类型

clipboard.png

Python3.7内置的关键字

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

格式化输出

A = 'dog'
print('It is a %s' % A ) # --> It is a dog
# 格式符可以是 %d整数 %f浮点数
print('%06d'% 1111) #-->001111 # 拿0补全6位,不写0就是拿空格补全6位
print('%.3f' %1.2) #-->1.200 # 保留3位小数
print('It is a {}'.format(A) ) # --> It is a dog

关于format函数还可以设置参数,传递对象:format多种用法

逻辑运算符优先级and or not

当not和and及or在一起运算时,优先级为是not>and>or

字符串常见操作

<1>find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
mystr.index(str, start=0, end=len(mystr))
<3>count
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)
<6>capitalize
把字符串的第一个字符大写
mystr.capitalize()
<7>title
把字符串的每个单词首字母大写

>>> a = "hello world"
>>> a.title()
'Hello world'

<8>startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
mystr.startswith(hello)
<9>endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith('.jpg')
<10>lower
转换 mystr 中所有大写字符为小写
mystr.lower()
<11>upper
转换 mystr 中的小写字母为大写
mystr.upper()
<12>ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
<13>rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
<14>center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
<15>lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
<16>rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
<17>strip
删除mystr字符串两端的空白字符

>>> a = "\n\t hello \t\n"
>>> a.strip()
'hello '

<18>rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
<21>rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
<23>isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
<24>isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isdigit()
<25>isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
<26>isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.isspace()
<27>join
mystr 中每个元素后面插入str,构造出一个新的字符串
mystr.join(str)

列表相关操作

  • 修改元素
    修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
  • 查找元素("查"in, not in, index, count)

    index和count与字符串中的用法相同
    >>> a = ['a', 'b', 'c', 'a', 'b']
    >>> a.index('a', 1, 3) # 注意是左闭右开区间
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: 'a' is not in list
    >>> a.index('a', 1, 4)
    3
    >>> a.count('b')
    2
    >>> a.count('d')
    0
  • 删除元素("删"del, pop, remove)
    del:根据下标进行删除,关键字del list[1]
    pop:删除并返回最后一个元素list.pop()还可以指定位置删除list.pop(0)
    remove:根据元素的值进行删除,函数list.remove('dog')
  • 排序(sort, reverse)
    reverse方法是将list逆置list.reverse()
    sort是将原list排序,a.sort(reverse=True) # reverse=True 是对倒序排序
    sorted是返回一个新列表
    sorted和sort都有个参数key,key可以是lambda函数,来指定排序排序规则

    •   >>> sorted(L, key=lambda x:x[1])     # 利用key按照每个元素的1下标的子元素排序
        [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

字典

  • 查找元素

    a = {'a':1}
    print(a.setdefault('b', 2)) # --> 2 # 找不添加到字典中
    print(a.get('c'))           # --> None # 找不到不报错
    print(a)                    # --> {'a': 1, 'b': 2}
  • 删除元素

    a = {'a': 1, 'b': 2}
    del a['a'] # 删除指定key
    del a      # 删除整个字典在内存里清除
    clear a    # 清空字典,a={}
  • 字典常见操作
    <1>dict.len()
    测量字典中,键值对的个数
    <2>dict.keys()
    返回一个包含字典所有KEY的列表
    <3>dict.values()
    返回一个包含字典所有value的列表
    <4>dict.items()
    返回一个包含所有(键,值)元祖的列表

       - 后三个功for遍历使用
    

枚举enumerate()

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>> chars = ['a', 'b', 'c', 'd']
>>> for i, chr in enumerate(chars):
...     print i, chr # 输出下标和对应的元素

集合

集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
定义一个集合set1=set(),注意:不能使用{}这是字典

  • 添加元素(add,update)
set1 = {1, 2, 4, 5}
set1.add(6) # 添加一个元素
set1.update("abcd") #是把要传入的元素拆分,做为个体传入到集合中
  • 删除元素(remove,pop,discard)

    • set1.remove(22)删除集合中的元素 如果有 直接删除 如果没有 程序报错
    • set1.pop()随机删除集合中的元素 如果set1没有元素讲程序报错
    • set1.discard(2)如果元素存在 直接删除 如果元素不存在 不做任何操作
  • 交并差集(&|-) 都是返回一个新集合

数据类型的公共方法

运算符 Python 表达式 结果 描述 支持的数据类型
+ [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字符串、列表、元组
* ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 复制 字符串、列表、元组
in 3 in (1, 2, 3) True 元素是否存在 字符串、列表、元组、字典
not in 4 not in (1, 2, 3) True 元素是否不存在 字符串、列表、元组、字典

python内置函数

  • max() 返回最大元素
  • min() 返回最小元素
  • len(容器)
  • del(变量) 删除变量
  • map(function, iterable, ...)
    根据提供的函数对指定序列做映射
  • reduce(function, iterable[, initializer]) # initializer是初始参数
    对参数序列中元素进行累积
  • filter(function, iterable)
    用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的迭代器对象(py3)。py2返回列表

Alei_杨磊
19 声望2 粉丝

没得啥, 慢慢学吧