zoukankan      html  css  js  c++  java
  • 归类Python中基本数据类型的使用方法和内置方法

    一. 整型(int)

    int('...') -----int 只能转纯数字的字符串,一旦字符串中有的数字不是整型,就会报错。

    进制转换:

    1.任意进制转为十进制:

    -----int 中第二个参数是几,那么就表示第一个参数是几进制,然后再转换为十进制

    int('0110',2) ---------- 将二进制 ‘0110’ 转换为 十进制
    int('26',8) -----------将八进制‘26’转换为 十进制
    int(‘c’,16) ----------将十六进制‘c’转换为 十进制。 十六进制:0-9,A-F

    2.将十进制转为任意进制:

    bin(12) -------- 将十进制‘12’转换为 二进制。打印出来的 0b.... ,0b后面的数字为二进制

    oct(12) -------- 将十进制‘12’转换为 八进制。打印出来的 0o...., 0o后面的数字为八进制

    hex(12)-------- 将十进制 ‘12’ 转换为 十六进制。打印出来的 0x....,0x表示后面的数字为十六进制

    二.浮点型(float):

    数字中含有小数点的一般都为浮点型。


    三.可变类型与不可变类型:

    可变类型:即使变量的值有所改变,但其 id 任然不变的,为可变类型。列表


    不可变类型:一旦变量的值发生改变,其 id 一定便的情况,为不可变类型。int,字符串类型


    四.字符串类型:('...' ,''.... '','''.....''',单引号或是双引号,三引号)

    1.按索引取值,可以正向取值,也可以反向取值。但是只能取值:

    a = 'abcde'
    a[3]----------取值 d
    a[-1]--------取值 e

    2.切片: 从大的字符串中切下来一部分小的字符串:
    小特点:顾头不顾尾
    步长:假如步长是n的话,那就隔 n-1 个数取一个值.
    切片取值默认是从左到右的。
    a = 'abcde'
    a[2:3] ------取的片段为 c ----默认步长为1-----隔的个数为零

    a ='abcde'
    a[0:4:2] -----取的片段为 ac ------ 步长为2----隔的个数为1个

    3.长度len: 统计字符串中字符的个数

    a = 'abcd'
    len(a) ------------- 4个

    4. 成员运算 in 和 not in : 查看某个字符串是否存在于一个大的字符串中。

    a = 'hello,andy'
    print('an' in a) -------True
    print('b' in a) ---------False

    a = 'hello'
    print('andy' not in a) ------- True
    print('he' not in a) ------- False

    5.strip : 去除字符串首尾两端的字符。strip() 默认去除字符串两边的空格。
    lstrip : 去除字符串左边的字符。
    rstrip : 去除字符串右边的字符。

    name = '###andy###'

    print(name.strip('#')) ------------------ andy

    print(name.lstrip('#')) ------------------ andy###

    print(name.rstrip('#')) ----------------- ###andy

    6.split :切分。针对按照某种分隔符组成的字符串进行切分,切下来的是列表。
    它是从左往右切分的。
    rsplit: 从右往左切分成列表 。如果没有指定切分,它的效果跟split 是相同的。

    name = 'andy is big|a os'

    print(name.split('|')) -------- ['andy is big','a os']

    print(name.split('a')) -------- [' ','ndy is big|', ' os']

    print(name.split('a',2))-------['','ndy is big|',' os'] ---- 指定切分:其中2,是左往右切分2个 'a'

    print(name.rsplit('a',1)) -------['andy is big|',' os'] -----指定切分: 其中 1,是指定切分从右到左的1个’a‘.


    7.lower : 小写 ,upper: 大写

    name = 'AndY'
    print(name.lower()) -------'andy'

    name = 'AndY'
    print(name.upper())-------'ANDY'

    .captalize 字符串中首字母大写

    name = 'kEn'
    print(name.captalize())------ Ken

    .swapcase 大小写互换位置

    name = 'KeNdGy'
    print(name.swapcase())------kEnDgY

    8.startswith 开头-----判断字符串中字符的开头
    endswith 结尾-----判断字符串中字符的结尾

    name = 'andy'
    print(name.startswith('a')) ------ True
    print(name.endswith('i')) ------- False

    9.format 占位.有以下三种方法 : (推荐使用该功能)

    第一种:按位置占位,原理同%s,%d占位相同。

    d = 'my {} name {} age {}'.format('hh','andy','18',)
    print(d) ------my hh name andy age 18

    第二种:按照索引占位。

    d = 'my {0} name {0} age {2}'.format('hh','andy','18',)
    print(d) --------my hh name hh age 18

    第三种:对号入座式占位。

    d = 'my {name1} name {name1} age {age}'.format(name1 = 'hh',name2 = 'andy',age = '18',)
    print(d)-----my hh name hh age 18


    10 .join :拼接,跟容器中的每个单个元素进行拼接,成为一个字符串。

    l = ['a','b','c']
    res = '#'.join(l)
    print(res) -------a#b#c

    11.replace:替换.将旧字符串中的字符替换成新的字符。

    str = 'andy is big ,age is 18'
    l =str.replace('andy','ruby')
    print(l) ----------ruby is big ,age is 18

    12.isdigit: 判断是否为数字.通常用这个就可以满足需求。 isnumeric() ---- 可以识别中文数字,罗马数字,只要是数字都识别

    isdecimal()---只能识别阿拉伯数字
    age = 18
    age.isdigit() -----True


    age = 'andy'
    age.isdigit() ---- False

    五.需要了解的内置方法:

    1.find 查找.当查找的字符不在字符串中时,会返回 -1.但不会报错,可继续运行程序
    rfind == find

    s = 'abcdef'
    print(s.find('c')) -------2. 返回是c字符所在的索引值

    s = 'abcdef'
    print(s.find('c',0,3))------2.通过索引可以来限制范围

    s = 'abcdef'
    print(s.find('g')) ------ -1.这是错误的,但不会中止程序运行.

    2.index 索引,当指定的字符不在字符串里时,就报错。
    rindex 从右往左开始索引取值
    index == rindex

    s = 'abcdef'
    print(index('c')) -------2.返回的是索引值.

    s = 'abcdef'
    print(rindex('c')) ------2 从右往左返回索引值

    s = 'abcdef'
    print(index('c',0,3)) --------2,返回所传字符的所在范围内的索引值.

    s = 'abcdef'
    print(index('g'))--------报错

    3.count 计数 统计字符在字符串中出现的频率

    s = 'abcdefdg'
    print(s.count('d')) ---------- 2.

    4.center 居中

    name = 'ken'
    print(name.center(9,'#')) -------###ken###

    5.ljust 居左

    name = 'ken'
    print(name.ljust(3,'#'))------ken###

    6.rjust 居右

    name = ' ken'
    print(name.rjust(3,'#')) ------###ken

    7.zfill 填充

    name = 'ken'
    print(name.zfill(3))----000ken

    8.expandtabs 扩展

    s1 = 'a bc'
    print(s1.expandtabs(10)) -----a bc


    9.title 字符串中每个单词首字母大写.

    name = 'hello ken'
    print(name.title())------ Hello Ken

    六.列表类型:
    1.append 尾部追加,将被添加的数据当作列表的一个元素

    l = [1,2,3,4,5]
    l.append(6)
    print(l)-----[1,2,3,4,5,6]

    2.insert 插入 可以在列表中的任意位置插入

    l = [1,2,3,4,5]
    l.insert(1,26)
    print(l) ---- [1,26,2,3,4,5]

    3.extend 扩展

    l = [1,2,3,4,5]
    l1 = [3,2,3,45,]
    l.extend(l1)
    print(l)---------[1,2,3,4,5,3,2,3,45]

    4.del 删除 针对所有数据类型

    l =[1,2,3]
    del l[0]
    print(l) -------[2,3]

    5.pop 尾部弹出, 可以按照索引弹出元素

    l = [1,2,3,4]
    l.pop()
    print(l) ----- [1,2,3]

    6.remove 指定要删除元素的值

    l = [1,2,3,4]
    l.remove(2)
    print(l) ------[1,3,4]

    7.reverse 将列表反转

    l = [1,2,3,4,5,6]
    l.reverse ---------[6,5,4,3,2,1]

    8.clear 清除,将列表清除,返回的值的None,也就是不会返回值

    9.sort 排序 , 将列表内排序,从小到大的方式

    10.索引,切片,长度len, 成员运算 in

    ---------------------------------------------------------------
    二,元组(tuple)常用方法:

    跟列表类似,只是表现的花括号变为小括号,能存多个值,是有序的


    1.索引取值 :正反都可以取值,只能取值

    2.长度len, 成员运算 in , 切片 顾头不顾尾,步长。

    3.for 循环 取值。


    ------------------------------------------------------

    三,字典(dic)常用方法及内置方法

    定义方式:在{}内用逗号分隔开多 个key:value,其中value可以是任意类型,而key必须是不可变的类型,通常情况下应该str类型

    1.按照 key 取值,可存可取
    赋值语句当key不存在的情况下,会新增一个键值对*****

    2.长度len 统计键值对的个数


    3.成员运算,in ,not in。 在字典里只能判断key值

    4.del 删除, 只能删除到key值,不能选择value直接删除


    5.pop 弹出,在字典里选择key值,弹出的只是value,


    6.定义字典的三种方式:

    1.第一种:

    d1 = {'name':'jason','password':123}

    2.第二种:

    d1 = {name = 'andy',pwd = 123}


    3.第三种:

    d1 = [['name','andy','age','18']]
    d= {}
    for k,v in d1:
    d[k] = v --------{'name':'andy','age':'18'}

    7.键keys(),取字典里的key值
    值values(), 取字典里的value值
    **********
    键值对items() 取字典里的键值对,可以看作列表套元组, [(1,2)], 元组里的第一个元素为key,第二个元素为value


    8.get() 根据key获取value

    get 1.当你查找的key不在字典里时,不会报错。
          2.可以传第二个参数,当key 不存在的时候,会返回第二个参数的信息。

    9.fromkeys() 快速创建一个字典

    l = ['name','age']
    print(dict.fromkeys(l,123)) ------{'name': 123,'age':123}

    10.popitem() 尾部弹出键值对

    11.setdefault 当键不存在的情况下,新增一个键值对 并且将新增的键值对的值返回

    d = {'name': 123,'hobby':123}
    d.setdefault('age',18)------ {'name': 123,'age':123,'age':18}

    12.update 更新,有相同key就更新为最新的value值,
    如果没有相同键值对,就会更新字典,将新的键值对加进字典里。

    d = {'name': 123,'age':123}
    d.uppdate(age=18)
    print(d)-------------{'name': 123,'age':18}


    d = {'name': 123,'age':123}
    d.uppdate(hobby=18)
    print(d)-------------{'name': 123,'age':123,'hooby':18}


    13.for 循环

    d = {'name': 123,'age':123}
    for i in d:
    print(d) ----------name 
    age


    for 循环取键值对然后解压赋值:

    d = {'name': 123,'age':123}
    for i,v in d.items:
    print(i,v) ----------name 123
    age 123

    -----------------------------------------------------------

    四.集合(set) 一般用于集合与集合之间做比较,不涉及单个元素

    集合用花括号表示,可以包含多个元素,用逗号分隔,无键值对。定义空集合只能用 set---- d = set({})

    1.集合的元素遵循的三个原则:
    1.每个元素必须是不可变类型
    可变:不可hash
    不可变:可hash

    2.没有重复的元素,集合里自动将重复的元素去除

    3.无序的

    2.长度len,集合中元素的个数

    3.add 增加 将容器类型增加到集合中,也是当做单个元素传入的

    4.成员运算 in 和not in

    5.| 合集 两个集合,合并为同一个集合

    6.& 交集 两个集合,相同部分组成一个集合

    7.- 差集 两个集合相减,去除集合内的相同元素,并保留只保留第一个集合。

    8.^对称差集 两个集合,不同部分组成一个集合

    9.== 判断 两个集合是否相同。

    10.父集: >,>= 符号前的集合是否包含符号后面的集合

    11.子集:<,<= 符号前的集合是否在符号后面的集合里

    12..
    remove #删除的元素不存在则报错

    discard #删除的元素不存在不会报错

  • 相关阅读:
    C# 获取当前路径7种方法
    C# 获取当前路径7种方法
    C#委托的介绍(delegate、Action、Func、predicate)(转)
    C#委托的介绍(delegate、Action、Func、predicate)(转)
    DevExpressGridView自定义行高
    DevExpressGridView自定义行高
    C#IO读写txt文件的两种方法
    C#IO读写txt文件的两种方法
    NoSQL 简介
    NoSQL 简介
  • 原文地址:https://www.cnblogs.com/wujc3/p/11129948.html
Copyright © 2011-2022 走看看