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

数据类型内置方法与操作

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

目录

一.数据类型内置方法理论

  • 什么是数据类型内置

内置方法即是每个数据类型自带的功能

数据类型总类:
1.整型 2.浮点型 3.列表型 4.字典型
5.字符型 6.布尔值 7.元组 8.集合

使用数据类型的内置方法统一采用句点符(.)

'rain'.字符串内置方法
绑定字符串的变量名.字符串内置方法
str.字符串内置方法
"""
数据类型的内置方法比较多,我们如果想要掌握不需要死记硬背,更多的时候靠的是熟能生巧。
"""

二.整型int的内置方法与操作

1.类型转换

类型转换就是将其他数据转换成整型

int(其他数据内型)

注意:只有浮点型和字符串才能转换成整型,浮点型可以直接转,字符串必须满足内部是纯数字才可以

2.进制数转换

十进制转换其他进制
    print(bin(100))  #bin()将十进制转换为二进制    0b 是二进制的标识  0b1100100
    print(oct(100))  #oct()将十进制转换为八进制    0o 是八进制的标识  0o144
    print(hex(100))  #hex()将十进制转换为十六进制  0x是十六进制的标识  0x64
    #若前面没有标识符 则默认为十进制
其他进制转换成十进制
	print(int(0b1100100))
	print(int(0b1100100))
	print(int(0b1100100))
or
	print(int("0b1100100", 2))
	print(int("0o144", 8))
	print(int("0x64", 16))

ps:python自身对数字的敏感度较低(精确的低),如果需要精准的计算需要借助模块numpy....
image

三.浮点型内置方法与操作

1.类型转换

​ float(其他数据类型)

​ 字符串里面可以允许出现一个小数点,其它都必须是纯数字(python自身对数字的敏感度较低(精确的低),如果需要精准的计算需要借助模块numpy....)

2.针对布尔值的特殊情况

print(folat(True)) # 1.0
print(folat(False)) # 0.0
print(int(True))   # 1
print(int(Flase))  # 0

当转换值为布尔值时,所转换的是该布尔值对应的数值(True:1,False:0)

四.字符串float的内置方法与操作

1.类型转换

​ str(其他数据类型)

​ 可以转换任意数据类型(只需要在前后加引号即可)

2.必须掌握的方法

1.索引取值

s1 = 'hello word'
print(s1[0])  # h
print(s1[-1])  # d
"""
1.起始位置0开始,超出范围直接报错。
2.支持负数,所打印的内容是从右往左以此读取
"""

2.切片操作

s1 = 'hello word'
print(s1[1:5])  # 骨头不顾尾 从索引1一直切取到索引4
print(s1[-1:-5])  # 由于默认的顺序是从左往右 所以打印不出所实现的值
print(s1[-5:-1])  # 默认顺序是从左往右 worl

3.修改切片方向

s1 = 'hello world'
print(s1[1:5:1])  # 默认是1 ello
print(s1[1:5:2])  # 默认是1 el
print(s1[-1:5:-1])  # 改变方向从右往左  dlrow
print(s1[:])  # 不写数字就是默认都要
print(s1[2:])  # 就是从索引2开始往后都要
print(s1[:5])  # 从索引0开始往后要到4
print(s1[::2])  # 从索引0开始每隔一个取一个

4.统计字符串的个数

len:字符串长度
    s1 = 'hello world'
    print(len(s1))  # 10

5.移除字符串首位指定的字符

strip:移除
	username = input('username>>>:').strip()
    if username == 'jason':
        print('登陆成功')
	res = '  jason  '
    print(len(res))  # 由于首尾各有两个空格 所以字符串长度为9
    print(len(res.strip()))  # 括号内不不写 默认移除首尾空格 字符串长度为5
	
    res1 = '$$jason$$'
    print(res1.strip('$'))  # 默认移除首尾 jason
    print(res1.lstrip('$'))  # 移除左边(leftstrip)也就是首 jason$$
    print(res1.rstrip('$'))  # 移除右边也就是尾  $$jason

6.切割字符串中的指定字符

split:切割
    res = 'jason|123|read'
    print(res.split('|'))  # ['jason', '123', 'read']  该方法处理结果是一个列表
    name, pwd, hobby = res.split('|')
    print(res.split('|', maxsplit=1))  # ['jason', '123|read']  从左往右切指定个数 maxsplit:最大切割数
	print(res.rsplit('|',maxsplit=1))  # ['jason|123', 'read']  从右往左切指定个数
    

7.字符串格式化输出

format玩法1:等价于占位符
    res = 'my name is {} my age is {}'.format('jason',123)
    print(res)  # my name is jason my age is 123
    
format玩法2:索引取值并反复使用
    res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason',123)
    print(res)  # my name is jason my age is 123 jason jason 123
    
format玩法3:占位符见名知意
    res = 'my name is {name1} my age is {age1} {name1} {age1} {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)  # my name is jason my age is 18

    
    
	
    

3.字符串需要了解的方法

1.大小写相关

'''upper:转化成大写  lower:转化成小写'''
res = 'HeLlO wOrlD 123'
print(res.upper())  # HELLO WORLD 123
print(res.lower())  # hello world 123
eg:
      '''图片验证码:生成没有大小写统一的验证码 展示给用户看
    获取用户输入的验证码 将用户输入的验证码和当初产生的验证码统一转大写或者小写再比对
    '''
    code = '8Ja6Cc'
    print('展示给用户看的图片验证码', code)
    confirm_code = input('请输入验证码').strip()
    if confirm_code.upper() == code.upper():
        print('验证码正确')
    res = 'hello world'
    print(res.isupper())  # 判断字符串是否是纯大写  False
    print(res.islower())  # 判断字符串是否是纯小写  True

2.判断字符串中是否是纯数字

isdight:判断是否是数字
	res = ''
	print(res.isdight())
    guess_age = input('guess_age>>>:').strip
    if guess_age.isdight():
        guess_age = int(guess_age)
    else:
        print('年龄要输数字哦!')

3.替换字符串中指定的内容

replace:替换
	res = 'my name is jason jason jason'
    print(res.replace('jason', 'tony'))  # my name is tony tony tony
    print(res.replace('jason', 'tony', 1))  # my name is tony jason jason  从左往右替换指定个数内容

4.字符串的拼接

l1 = 'hello'
l2 = 'world'
print(l1 + '$$' + l2)  # hello$$world
print(l1 * 3)  # hellohellohello
print('|'.join(['jason', '123', 'read', 'JDB']))  # jason|123|read|JDB
print('|'.join(['jason', 123]))  # 报错 参与拼接的数据值必须是字符串

5.统计指定字符出现的次数

res = 'hello world'
print(res.count('l'))  # 3

6.判断字符串的开头或者结尾

starswith:开头  endswith:结尾
    res = 'jason say hello'
    print(res.startswith('jason'))  # True
    print(res.startswith('j'))  # True
    print(res.startswith('jas'))  # True
    print(res.startswith('a'))  # False
    print(res.startswith('son'))  # False
    print(res.startswith('say'))  # False
    print(res.endswith('o'))  # True
    print(res.endswith('llo'))  # True
    print(res.endswith('hello'))  # True

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'))  # 4
print(res.index('c'))  # 找不到直接报错
print(res.find('c'))  # 找不到默认返回-1
print(res.find('LO'))  # 3

image

五.列表list的内置方法与操作

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.需要掌握的方法

1.索引取值

11 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[0])  # 111
print(l1[-1])  # 888 支持负数

2.切片操作(与字符串讲解操作一致)

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[0:5])  # [111, 222, 333, 444, 555] 骨头不顾尾 从索引1一直切取到索引4
print(l1[:])  # [111, 222, 333, 444, 555, 666, 777, 888] 不写数字就是全部使用

3.间隔数 方向(与字符串讲解操作一致)

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[::-1])  # [888, 777, 666, 555, 444, 333, 222, 111]

4.统计列表中数据中的个数

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(len(l1))  #8

5.数据值修改

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
l1[0] = 123
print(l1)  # [123, 222, 333, 444, 555, 666, 777, 888]

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.方式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.方式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.删除列表数据

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
方式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)  # [12, 33, 43, 54, 55, 76, 76, 88, 99, 99, 100]
ss.sort(reverse=True)
print(ss)  # 改为降序 [12, 33, 43, 54, 55, 76, 76, 88, 99, 99, 100]

9.统计列表中某个值出现的次数

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1.count(111))  # 1

10.颠倒列表顺序

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
 l1.reverse()
 print(l1)  # [888, 777, 666, 555, 444, 333, 222, 111]

image

六.可变与不可变类型

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))

不可变类型:值改变 内存地址肯定变
res = '$$hello world$$'
print(res)
print(id(res))
res.strip('$')
print(res)
print(id(res))

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

相关文章

  • 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命令主要有三大功能,如下:①将文件改名②移动文件......
  • 数据类型内置方法
    数据类型内置方法之前我们所学习的每一种数据类型本身就含有一系列的操作方法,内置方法是其中最多的。以字符串为例,介绍一下调用内置方法的格式:print('jason'.upper())......
  • JS 操作符
    JS中的操作符与其他语言大体上是相似的,这里总结一些需要注意的地方.一元操作符一元加(+)在数值前面放置​​+​​​对数值没有任何影响,对非数值使用​​+​​​,具有​​Num......
  • 八大基本数据类型
    //八大基本数据类型//整数intnum1=10;bytenum2=20;shortnum3=30;longnum4=30L;//Long类型要在数字后面再加个L//小数:在Java里要叫浮点数floatnum5=50.1F;/......