首页 > 其他分享 >数据类型的内置方法与操作

数据类型的内置方法与操作

时间:2022-09-29 20:34:38浏览次数:49  
标签:内置 jason res s1 数据类型 字符串 l1 print 操作

今日内容总结

数据类型内置方法理论

我们之前所学习的每一种数据类型本身都含有一系列的操作方法,内置方法是其中最多的(自带的功能)

在python中数据类型调用内置方法的统一句式为>>>:句点符
    'Jason'.字符串内置方法
    绑定字符串的变量名.字符串内置方法
    str.字符串内置方法
    ps:数据类型的内置方法比较的多 我们如果想要掌控 不要光靠死记硬背 更多时候考的是孰能生巧

整形内置方法与操作

1.类型转换(将其他数据类型转换成整型)
     int(其他数据类型)  #int是关键字
    ps:浮点型可以直接转 字符串必须满足内部是纯数字才可以,出现其他形式则立即报错.
2.进制数转换
    十进制转其他进制
    print(bin(100)) # 0b1100100  二进制
    print(oct(100)) # 0o144   八进制
    print(hex(100)) #ox64   十六进制
    '''
    数字的开头如果是0b则为二进制 0o则为八进制 0x泽维十六进制
    '''

整型.png

其他进制转十进制
     print(int(0b11100100))
    print(int(0o144)
    print(int(0x64))
          
    print(int("0b1100100", 2))
    print(int("0o144", 8))
    print(int("0x64", 16))
3.python自身对数字的敏感度较低(精确度低)
    python这么语言其实真的一点都不厉害 主要是因为它背后有太多大佬
    如果需要进行准确的计算需要借助于模块numpy...

浮点型内置方法与操作

1.类型转换
     float(其他数据类型)
    字符串里面可以允许出现一个小数点 其他都必须是纯数字
    '''
    浮点型类型转换里只能出现一个小数点,若为多个小数点则直接报错。(还是因为pytho对数字不敏感)
    '''
    
    
2. python自身对数字的敏感度较低(精确度低)
    python这么语言其实真的一点都不厉害 主要是因为它背后有太多大佬
    如果需要进行准确的计算需要借助于模块numpy...

浮点型.png

字符串内置方法与操作

1.类型转换
   str(其他数据类型)  #srt 关键字
   ps:可以转任意数据类型(只需要在前后加引号即可)
2.必须要掌握的方法:
  1.索引取值(起始位置0开始 超出范围直接报错)
    print(s1[0]) # h
    print(s1[-1]) # d 支持负数 从末尾开始
"""所提取的为负数时,所打印的内容是由右往左依此读取所打印数的内容"""

索引取值.png

2.切片操作
print(s1[1:5]) #顾头不顾尾 从索引1一直切渠道索引4
print(s1[-1:-5]) # 默认的顺序是从左往右 所以不输出
print(s1[-5:-1]) # 默认的顺序是从左往右
'''
切片取值时,顺序默认从左往右,当第三个参数赋值为-1时,循序变为从右往左打印,若没有给第三个参数赋值则默认为1。取值的时候是遵循顾头不顾尾的原则,第二个参数数默认减一
'''

切片取值.png

3.修改切片方向(间隔)
print(s1[1:5:1]) # 默认是1
print(s1[1:5:2]) # 默认是1
print(s1[-1:-5:-1]) 
print(s1[:]) # 不写数字就是默认都要
print(s1[2:]) # 从索引2  开始往后面都要
print(s1[:5]) # 从索引0开始往后要到4
print(s1[::2]) #从索引0开始每间隔两个取一个值
'''
间隔方向默认为从左往右
'''
4.统计字符串中字符的个数
print(len(s1)) #10
'''
注意在使用len()统计字符个数时,其中的空格也在统计范围内。
'''
5.移除字符首尾指导的字符
username = input('username>>>:').strip()  #strip() ()内不写默认作用是消除首尾的空格空格
username = username.strip()
if username == 'jason'
     print('登录成功')
res = ' jason '
print(len(res))
print(len(res.strip())) #括号内不写 默认移除首尾的空格
res1 = '$$jason$$'
print(res1.strip('$')) # jason
print(res1.lstrip('$'))# jason$$
print(res1.rstrip('$'))# $$jason
'''
运用字符串用内置的方法消除字符时,所表示的不是改变原始数据,而是产生了新的数据,随后输出来调用改变后的数据
还可以进行左消除或者右消除操作:
即在strip前加l或者r
l即left 即左消除
r即right 即右消除
'''
6.切割字符串中指定的字符
res = 'jason|123|read'
print(res.split('|')) #['jason','123','read']该方法的处理结果是一个列表

name,pwd,hobby = res.split('|')
print(res.split('|',maxsplit=1)) # ['jason','123|read']从左往右切指定个数

print(res.rsplit('|',maxsplit=1))# ['jason|123','read'] 从右往左切指定个数
'''
若出现连续的特征符号,考虑用切割操作。
使用切割字符串时,默认为从左往右切割,若split前由r时,则为从右往左切割
当需要切割次数时,使用maxsplit ,当后面的数值为多少就是需要切割多少次。
'''
7.字符串格式化输出
format玩法1:等价占位符
    res = 'my name is ()my age is ()'.format('jason',123)
    print(res)
format玩法2:索引取值并支持反复使用
 res = 'my name is (0) my age is (1) (0) (0) (1)'.format('jason',123)
    print(res)
format玩法3:占位符见名知意
    res = 'my name is (name1) my age is (age1) (name1) (age)(name1)'.format(name1 = 'jason', age1 = 123)
    print(res)
format玩法4:推荐使用(******)
    name = input('username>>>:')
    age = input('age>>>:')
    res = f'my name is (name) my age is (age)'
    print(res)
3.字符串需要了解的方法

1.大小写相关
res = 'hElLo WorlD 666'
print(res.upper()) #HELLO WORLD 666 全部大写
print(res.lower()) #hello world 666 全部小写
'''图片验证码:生成没有大小写统一的验证码 展示给用户看
 获取用户输入的验证码 将用户输入的验证码和当初产生的验证码统一转大写或者小写再比对
'''
code = '8Ja6Cc'
print('展示给用户看的图片验证码',code)
confirm_code = input('请输入验证码').strip()
if confirm_code.upper() == code.upper():
    print('验证正确')
res = 'hello world'
print(res.isupper()) #判断字符串是否是纯大写 false
print(res.isupper()) #判断字符串是否是纯小写 True
'''
进行大小写的相关操作时,使用lower()或者upper()操作可将字符串中所由字母进行大小写转换,进而使大小写穿插输入达到一致的结果。
若其前加is 则为判断该字符串是否是全大写,或者全是小写
'''
2.判断字符串中是否是纯数字
res = ''
print(res.isdigit())
guess_age = input('guess_age>>:').strip()
if guess_age.isdigit():
    guess_age = int(guess_age)
else:
    print('年龄都不知道怎么输吗???')
'''
采用isdigit()方法对整型进行判断处理
'''
3.替换字符串中指定的内容
  res = 'my name is jason jason jasons jason jason'
    print(res.replace('jason','tonySb')) # my name is tonySb ...tonysb
    print(res.replace('jason', 'tonySB', 1))  # my name is tonySB jason jason jason jason  从左往右替换指定个数内容
    '''
    采用replace()方法可以将字符串中的代码进行替换(遵循从左往右的原则)
在原数据,替换数据之后填写一个数据值则为替换间隔数(没有填写则默认为0)
    '''
4.字符串的拼接
ss1 = 'hello'
ss2 = 'world'
print(ss1 + '$$$' + ss2)
print(ss1 * 10)
print('|'.jsin(['jason','123','read','JDB']))
print('|'.join(['jason',123])) #参与拼接的数据值必须都是字符串
'''
字符串的拼接支持+ * 形式的拼接,拼接的结果为没有间隔的数据。
当使用join()方法进行拼接时,join前的单引号中若为|则使用|来将其拼接结果进行分割。若为空则视为没有间隔
列表中的数据都必须是字符串类型否则报错。
'''
5.统计指定字符出现的次数
res = 'hello world'
print(res.count('1'))
'''
相比于循环操作,采用.count()方法能够更加快捷的找到字符串中所需要的数据
'''
6.判断字符串的开头或者结尾
 res = 'Jason say hello'
 print(res.startswith('jason'))
 print(res.startswith('j'))
 print(res.startswith('jas'))
 print(res.startswith('a'))
 print(res.startswith('son'))
 print(res.startswith('say'))
 print(res.endswith('o'))
 print(res.endswith('llo'))
 print(res.endswith('hello'))
'''
采用swith()方法判断字符串的开头或者结尾
swith前为start时是判断开头是否正确 可以是首字母,也可是前面的连续字母
swith前为end 时,则是判断结尾是否正确。可以是尾字母,也可以是最后的连续字母(这里是从左往右)
'''
7.其他方法补充
res = 'helLO World hELlo worLD'
print(res.title()) #Hello World Hello World 只有开头大写
print(res.capitalize())  # Hello world hello world
print(res.swapcase())  # HELlo WorLD HelLO WORld
print(res.index('O'))
print(res.find('O'))
print(res.index('c'))  # 找不到直接报错
print(res.find('c'))  # 找不到默认返回-1
print(res.find('LO'))  # 3

列表的内置方法及操作

1.类型转换
    list(其他数据类型)
    ps:能够被for循环的数据类型都可以转成列表
    print(list('hello'))
    print(list({'name':'jason','pwd':123}))
    print(list({1,2,3,4}))
    print(list({1,2,3,4,5})
2.需要掌握的方法
11 = [111, 222, 333, 444, 555, 666, 777, 888]
1.索引取值(正负数)
print(l1[0])
print(l1[-1])
2.切片操作    与字符串讲解操作一致
print(l1[0:5])
print(l1[:])
3.间隔数 方向  与字符串讲解操作一致
print(l1[::-1])
4.统计列表中数据值的个数
 print(len(l1))  # 8
5.数据值修改
 l1[0] = 123
 print(l1)
 6.列表添加数据值
    方式1:尾部追加数据值
    l1.append('干饭')
    print(l1)  # [111, 222, 333, 444, 555, 666, 777, 888, '干饭']
    l1.append(['jason', 'kevin', 'jerry'])
    print(l1)  # [111, 222, 333, 444, 555, 666, 777, 888, ['jason', 'kevin', 'jerry']]
    方式2:任意位置插入数据值
    l1.insert(0, 'jason')
    print(l1)
    l1.insert(1, [11, 22, 33, 44])
    print(l1)  # [111, [11, 22, 33, 44], 222, 333, 444, 555, 666, 777, 888]
    方式3:扩展列表 合并列表
    ll1 = [11, 22, 33]
    ll2 = [44, 55, 66]
    print(ll1 + ll2)  # [11, 22, 33, 44, 55, 66]
    ll1.extend(ll2)  # for循环+append
    print(ll1)  # [11, 22, 33, 44, 55, 66]
    for i in ll2:
    	ll1.append(i)
    print(ll1)
7.删除列表数据
    方式1:通用的删除关键字del
    del l1[0]
    print(l1)
    方式2:remove
    l1.remove(444)  # 括号内填写数据值
    print(l1)
    方式3:pop
    l1.pop(3)  # 括号内填写索引值
    print(l1)
    l1.pop()  # 默认尾部弹出数据值
    print(l1)
    res = l1.pop(3)
    print(res)  # 444
    res1 = l1.remove(444)
    print(res1)  # None
8.排序
     ss = [54, 99, 55, 76, 12, 43, 76, 88, 99, 100, 33]
     ss.sort()  # 默认是升序
     print(ss)
     ss.sort(reverse=True)
     print(ss)  # 改为降序
     9.统计列表中某个数据值出现的次数
     print(l1.count(111))
     10.颠倒列表顺序
     l1.reverse()
     print(l1)

可变与不可变类型

 s1 = '$$jason$$'
 l1 = [11, 22, 33]
 s1.strip('$')
 print(s1)  # $$jason$$
'''字符串在调用内置方法之后并不会修改自己 而是产生了一个新的结果
如何查看调用方法之后有没有新的结果 可以在调用该方法的代码左侧添加变量名和赋值符号
    res = s1.strip('$')
'''
 ret = l1.append(44)
 print(l1)  # [11, 22, 33, 44]
 print(ret)  # None
'''列表在调用内置方法之后修改的就是自身 并没有产生一个新的结果'''
 可变类型:值改变 内存地址不变
 l1 = [11, 22, 33]
 print(l1)
 print(id(l1))
 l1.append(44)
 print(l1)
 print(id(l1))
    '''
    append命令是将整个对象加在列表末尾,
    '''
不可变类型:值改变 内存地址肯定变
res = '$$hello world$$'
print(res)
print(id(res))
res.strip('$')
print(res)
print(id(res))
'''
strip()用于移除字符串头尾指定的字符
'''

标签:内置,jason,res,s1,数据类型,字符串,l1,print,操作
From: https://www.cnblogs.com/wwssadadbaba/p/16742965.html

相关文章

  • 数据类型的内置方法
    今日内容回顾数据类型内置方法理论整形相关操作浮点型相关操作字符串相关操作列表相关操作可变类型与不可变类型今日内容回顾详情数据类型内置方法理论我们之前......
  • 数据类型内置方法理论
    今日内容详细数据类型内置方法理论我们之前所学习的每一种数据类型本身都含有一系列的操作方法,内置方法是其中最多的(自带的功能)在python中数据类型调用内置方法的统......
  • 数据类型内置方法与操作
    目录一.数据类型内置方法理论二.整型int的内置方法与操作1.类型转换2.进制数转换三.浮点型内置方法与操作1.类型转换2.针对布尔值的特殊情况四.字符串float的内置方法与操......
  • java的八大基本数据类型和类型扩展
    学习中老师提到的一道经常考的笔试题java的数据类型分为两大类 (一)基本类型分为数值类型和boolean类型数值类型:byte占一个字节范围:-127-128short占两个字节范......
  • java要学到的关键字和数据类型
    java要学到的关键字在取类名和方法名时不能用这些关键字当名字//例子:在类名处就能写和上面一样的publicclass类名publicclassHelloWorld{  publicstaticvoid......
  • SAP License:ERP系统操作详解
    ERP系统在实施工程中会依照企业的实际需求进行功能的开发,并且尽量保证界面的简洁和功能的实用。在实施后期还会对操作进行具体的培训,以使员工能够尽快掌握,缩短实施周期。以......
  • linux文本操作vi显示颜色
    安装虚拟机部署centos系统,使用vi编辑代码时,发现没有颜色区分,而自己其他机器是可以显示颜色的。通过查看其他主机的信息,发现vi其实是vim。当我使用vim时无法找到该命令,查询......
  • 操作系统概念
    操作系统的概念操作系统的层次结构:裸机(纯硬件)==》操作系统==》应用程序(软件)==》用户操作系统的职责:负责管理协调硬件、软件等计算机资源的工作为上层应用程序、用......
  • 操作系统四个特征
    操作系统的四个特征并发、共享(并发和共享两个最基本的特征,二者互为存在条件)、虚拟、异步并发概念:指两个或多个时间在同一时间间隔内发生。这些时间宏观上是同时发生的......
  • Linux操作系统之mv命令详解
    前言1、mv命令是move英文单词的缩写,可以用来移动文件或者将文件改名。2、mv命令是Linux操作系统下的一个文件管理命令,mv命令主要有三大功能,如下:①将文件改名②移动文件......