数据类型内置方法理论

1.我们之前学过的每一种数据类型都有一系列的操作方法,内置方法是最多的,
  内置方法就是本身自带的功能在python中数据类型调用的方式是句点符  
  比如 'suttn'.   就可以调用字符串内置方法
  要用绑定字符串的变量名加上  .  号  (键盘问号边上那个)就可以使用内置方法

整形的内置方法与操作

 1.转换类型   将其他数据转换为整形
	  int(其他数据类型)
	  如:print(int(11.11))   #  11
	  转换为11,取整数
	 ps:浮点型可以直接转,字符串必须取整数
	 
 2.进制数的转换
 print(bin(100))  #  0b1100100  #  二进制
 print(oct(100))  #  0o144      #八进制
 print(hex(100))  #  0x64       #十六进制
 开头为0b是二进制  0o是八进制 0x是16进制
其他进制转10进制  拿上方三个已经转换的进制为例
print(int("0b1100100", 2))
print(int("0x64", 16))
print(int("0o144", 8))
就可以转换为10进制

!!pyython这门语言对数字的敏感度很低

浮点型的内置方法与操作

类型转换
float(别的数据类型)
字符串里面可出现一个小数点(只能是一个多了不认)
而且其他必须都是纯数字
print(float(11.11))  只能一个小数点和纯数字
print(float(11.1.1))  #  不行
print(float(1a))    #不行

字符串的内置方法与操作

str(其他任意数值)
可以转换任意数据,只要在前后加引号
2.必须掌握
   索引取值
s1 = '012345678'       #起始值为0 超出立马报错

print(s1[0])   # 1
print(s1[-1])  # 3    #支持复数从末尾开始
	切片取值
print(s1[1:5])  #  从索引1一直切取到索引4
print(s1[-1:-5])  # 默认的顺序是从左往右所以在s1中无法取值
print(s1[-5:-1])  # 默认的顺序是从左往右
	修改切片方向(间隔)
print(s1[1:5:1])  # 默认值是1
print(s1[1:5:2])  #改成2  代码取值13
print(s1[-1:-5:-1])  # 改变切片方向取值6543
print(s1[:])   # 不填写数字就是默认都要
print(s1[2:]) # 填写数字2意思是2后面的都要
print(s1[:5]) # 意思是索引值从0开始到4都要 简单说就是5前面的都要
print(s1[::2])  # 间隔一个取值  如果是3的话就间隔两个取值
	统计字符串中的个数   关键字 len
print(len(s1)) #用于统计有多少个数
    移除字符串首尾指定的字符    关键字strip 去除首尾空格 
username = input('username>>>:')strip()
username = username
if username == 'jason':
    print('恭喜你,可以去约炮了')
    
 mane = '##pig##'
print(mane.strip('#'))  # 首尾都去除
print(mane.lstrip('#')) # 首部去除
print(mane.rstrip('#')) # 尾部去除 

     1.切割字符中的指定符号
res = 'ping|456|song'
print(res.split('|'))   该处理方法是变成列表
      #['ping', '456', 'song']
name, pwd, hobby = res.split('|')
print(res.split('|', maxsplit=1))#从左往右切指定个数
       #['ping', '456|song']
print(res.rsplit('|',maxsplit=1)) #从右往左切指定个数
       ['ping|456', 'song']  #从右往左切指定个数
         2.字符串格式化输出
        format第一种:等价于占位符
res = 'my name is {} my age is {}'.format('123', '456')
print(res)  
    # my name is 123 my age is 456
        format第二种:索引值取用并且支持反复使用
res = 'my name is {0} my age is {1} {0} {0} {1}'.format('7878', 9696)
print(res
      # my name is 7878 my age is 9696 7878 7878 9696
            format第三种
      res = 'my name is {name1} my age is {age1}  '.format(name1='jason', age1=123)
print(res)
      # my name is jason my age is 123 jason 123 jason   前面说到过format第一种方法相当于占位符,使用到此代码,见名之意      
             foumat第四种:(******)
name = input('username>>>:')
age = input('age>>>:')
res = f'my name is {name} my age is {age}'
print(res)

username>>>:jame
age>>>:99
my name is jame my age is 99
      输入变量名占位符见名之意
         3.字符串需要了解的方法  upper   lower
      res = 'YUTYjis SJAJ JSAJ 666'
    # print(res.upper())  # YUTYJIS SJAJ JSAJ 666
            # 把所有英文字母打印成大写
      # print(res.lower())  # yutyjis sjaj jsaj 666
            # 把所有英文字母打印成小写
      电脑登入平台上将没有区分大小写的验证码展示给用户看
      用户输入验证码  输入的验证码和当初产生的验证码同意转大小写在对比
      ddd = '12QQqqED'
print('图片验证码','ddd')
confirm_ddd = input('请输入验证码').strip()
if confirm_ddd.upper() == ddd.upper():
    print('验证码正确')
      
  判断字符串中是否纯数字
res = ''
print(res.isdigit()) guess_age = input('guess_age>>>:').strip()
if guess_age.isdigit():
	guess_age = int(guess_age)
else:
    print('年龄都不会输??')
      
   替换字符串中的指定内容
   res = 'hhh  ooo hhh ooo hhh hhh hhh'
   print(res.replace('hhh', '你是傻B'))
      #你是傻s  ooo 你是傻s ooo 你是傻s 你是傻s 你是傻s
      从左往右替换指定的个数内容
  
  字符串的拼接
    qq1 = 'ping'
    qq2 = 'iser'
    print(qq1 + '$$$' + qq2)  # pingwertiser  
    print(qq1 * 10)   # 10个ping
    
     ''.join()  # 输入需要拼接的变量名
   统计指定字符串出现的次数
  	  res = 'ddddyyyyooooshkajdhka'
      print(res.count('y'))  出现四次
   判断字符串开头或者结尾
      res = 'name king in for ture'
	print(res.startswith('n'))   # True
    print(res.startswith('na'))   # True
    print(res.startswith('nam'))  # True
    print(res.startswith('name'))  # True
    print(res.startswith('king'))  # False
    print(res.startswith('k'))     # False

    

列表内置方法及操作

1.类型转换
    list()任意数据类型    能被for循环的数据类型都可以转换成列表
    
    list('i')
    print(list('kping'))
    print(list({'qwer': 'asdf', 'fgh': 369}))
    print(list((6, 2, 3, 4)))
    print(list({1, 2, 3, 4, 5}))
    # ['k', 'p', 'i', 'n', 'g']
    # ['qwer', 'fgh']
    # [6, 2, 3, 4]
    # [1, 2, 3, 4, 5]
    
  
需要掌握的方法:
l1 = [118, 272, 393, 4464, 5535, 6676, 7377, 8388]
print(l1[0])   # 118  索引取值
print(l1[-1])  # 8388

print(l1[0:5]) # [118, 272, 393, 4464, 5535]
print(l1[:])  # [118, 272, 393, 4464, 5535, 6676, 7377, 8388]  切片操作

print(l1[::-1]) 间隔数 方向 
# [8388, 7377, 6676, 5535, 4464, 393, 272, 118]

print(len(l1)) # 8  统计列表数据值

l1[4] = 6666     #  数据值修改
print(l1)
# [118, 272, 393, 4464, 6666, 6676, 7377, 8388]

l1.append('我好菜')  # 尾部追加数据1
print(l1)
# [118, 272, 393, 4464, 5535, 6676, 7377, 8388, '我好菜']

l1.append(['963, 666, 666']) # 尾部追加数据2 
print(l1)
#[118, 272, 393, 4464, 5535, 6676, 7377, 8388, ['963, 666, 666']]

l1.insert(0, 'jason')  任意位置插入数据值
print(l1)
# ['jason', 118, 272, 393, 4464, 5535, 6676, 7377, 8388]

ll1 = [11, 22, 33]
ll2 = [44, 55, 66]
print(ll1 + ll2) 合并列表
# [11, 22, 33, 44, 55, 66]
ll1.extend(ll2)  # for循环+append
print(ll1)
for i in ll2:
    ll1.append(i)
print(ll1)


del l1[0]   # 删除关键字  del
print(l1)

l1.remove(444)  # 括号内填写数据值  remove
print(l1)

l1.pop(3)  # 括号内填写索引值  pop
print(l1)

l1.pop()  # 默认尾部弹出数据值
print(l1)

res = l1.pop(3) # 4464
print(res)

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)   #改为降序
# [100, 99, 99, 88, 76, 76, 55, 54, 43, 33, 12]


9.统计列表中某个数据值出现的次数
    print(l1.count(111))
10.颠倒列表顺序
     l1.reverse()
     print(l1)

可变类型与不可变类型

s1 = '$$jason$$'
l1 = [11, 22, 33]
s1.strip('$')
print(s1)  # $$jason$$
字符串在使用内置方法后不会修改自己 二十产生了一个新结构
如何查看使用方法之后有没有新结果 可以在调用方法的代码左侧添加变量名和赋值符号 
res = s1.strip('$')

l1 = [11, 22, 33]
ret = l1.append(44)
print(l1)  # [11, 22, 33, 44]
print(ret) # Nome
列表在调用内置方法后 没有产生新的结果

可变类型:值改变 内存地址不变
l1 = [11, 22, 33]
print(l1)   # [11, 22, 33]
print(id(l1))  # 2374029652544
l1.append(44)
print(l1)   # [11, 22, 33, 44]
print(id(l1))  # 2374029652544

# 不可变类型:值改变 内存地址肯定变
res = '$$hello world$$'
print(res)
print(id(res))
res.strip('$')
print(res)
print(id(res))
posted on 2022-09-29 22:05  猪小坤  阅读(107)  评论(0)    收藏  举报