数字类型和字符串类型内置方法

拟墨画扇 提交于 2020-02-17 18:30:56

一 数字类型内置方法

1.1 为什么要有数据类型

   对于不同类型的变量需要用不同的数据类型去描述

1 int

   作用:定义身高、体重、年龄、id号等
   定义方式; x = 10
   方法:  print(y+x)
        print(y-x)
        print(y*x)
        print(y/x)
        print(y%x)
        print(y//x
   存储一个值or多个值:一个值
   有序or无序:不存在这一说法
       有序:有索引
       无序:无索引
   可变or不可变:不可变
       可变:值变id不变
       不可变:值变id也变

2 flaot

    作用:钱、商品价格、经纬度等
    定义方式: x = 1.4
    方法:print(y+x)
        print(y-x)
        print(y*x)
        print(y/x)
        print(y%x)
        print(y//x
    存储一个值or多个值:一个值
    有序or无序:不存在这一说法
    可变or不可变:不可变

3 str

    作用:定义名字,性别等
    定义方式:name = 'jack'
    方法:
    存储一个值or多个值:一个值
    有序or无序:有序
    可变or不可变:不可变

(1) 按索引取值

name = 'asd cc dd aa ee dd v'
print(name[4])          # 已打印索引值为4的字符
c

(2) 切片:步长为正数,从左到右取值;步长为负数,从右到左取值

name = 'asd cc dd aa ee dd v'
print((name[0:5]))      #  打印索引值0到5之间的字符
print(name[0:5:2])      #  打印索引值0到5之间的字符,每2个字符打印一个
asd c
adc

(3)长度:len

name = 'asd cc dd aa ee dd v'
print(len(name))      # 获取字符串长度
20

(4) 成员运算in|not in

name = 'asd cc dd aa ee dd v'
print('cc' in name)
print('asdcc' in name)     # asdcc是否在name中,注意空格
True
False

(5) strip,lstrip,rstrip

strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

name = '  asd cc dd aa ee dd v   '
print(name.strip())         # 移除两端空格
print(name.strip('vd '))    # 从俩边进行,遇到vd 就全部移除,注意顺序(有空格)
print(name.lstrip())       # 删除开始空格
print(name.rstrip())       # 删除结尾空格
asd cc dd aa ee dd v
asd cc dd aa ee
asd cc dd aa ee dd v   
  asd cc dd aa ee dd v

(6)split 切割

name = 'asd cc dd aa ee dd v'
print(name.split())          # 已空格为分割,分别打印字符
print(name.split('a'))       # 已a为分割,分别打印字符
['asd', 'cc', 'dd', 'aa', 'ee', 'dd', 'v']
['', 'sd cc dd ', '', ' ee dd v']

(7)循环
for 循环
while 循环

(8) lower,upper,capitalize,title

upper()字符串中字母由小写变为大写
lower()字符串中字母由大写变为小写
capitalize()字符串中字母首字母大写其余小写
title()字符串中字母每个单词的首字母大写其余小写
name = ('nick JACK Egon ')
print(name.lower())       # 大写变小写
print(name.upper())        # 小写变大写
print(name.capitalize())    # 首字母大写,其余小写
print(name.title())          # 每个单词首字母大写,其余小写
nick jack egon 
NICK JACK EGON 
Nick jack egon 
Nick Jack Egon 

(9) startswith,endswith

name = ('nick')
print(name.startswith('n'))   # 字符串‘n’在name的头部
print(name.endswith('k'))     # 字符串‘k’在name的尾部
print(name.startswith('i',1,3))   # 字符串‘i’在namez中索引为1到3的头部
True
True
True

(10) join
连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

s = ['hello','good','boy','doiido']
print(' '.join(s))      # 用空格连接s中的元素
hello good boy doiido

(11) isdigit
检测字符串是否只由数字组成

height = '250'
print(height.isdigit())    # 字符串'250'是由数字组成
True

(12) find|rfind|index|rindex|
find()从左向右寻找子序列的位置,如存在多个相同子序列只返回第一个查找到的位置,如果子序列不存在返回-1
rfind()从右向左寻找子序列的位置.....
index()从左向右寻找子序列的位置,如果子序列不存在报错,所以一般我们用find()更好一些
rindex()从右向左寻找子序列的位置.....

a = '012112443353112'
b = '3'
print(a.count('1'))    # 在 a 中寻找 1 出现的次数
print(a.count(b,4,15))  # 在索引4到15之间3出现的次数
5
3



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!