基本数据类型的内置方法

一丶数字类型

  1.int类型

    作用:用来记录人的年龄,出生年份,学生人数等整数相关的状态

    定义:age = 10   # age=int(10)

    类型转换:

# 纯数字的字符串转成int
# res=int('100111')
# print(res,type(res))

# 十进制转成其他进制
# 10进制 -> 二进制
# 11 - > 1011
# 1011-> 8+2+1
# print(bin(11)) # 0b1011

# 10进制 -> 八进制
# print(oct(11)) # 0o13

# 10进制 -> 十六进制
# print(hex(11)) # 0xb
# print(hex(123)) # 0xb

# 其他制转成其十进制
# 二进制->10进制
# print(int('0b1011',2)) # 11

# 二进制->8进制
# print(int('0o13',8)) # 11

# 二进制->16进制
# print(int('0xb',16)) # 11
View Code

    

  2.float类型

    作用:用来记录人的身高,体重,薪资等小数相关的状态

    定义:salary=3.1 # salary=float(3.1)

    类型转换:res=float("3.655")

  

  ps:int与float没有需要掌握的内置方法

二丶字符串类型str

  作用:用来记录人的名字,家庭住址,性别等描述性质的状态

  定义:msg='hello' # msg=str('msg')

  类型转换:str可以把任意其他类型都转成字符串

    如:res=str({'a':1})
      print(res,type(res))

  使用:内置方法

  优先掌握

    1.按索引取值(正向取值,反向取值)

str = 'hello python!'
# 1.1 正向取值(从左往右)
# print(str[6])  p

# 1.2 反向取值(负号表示从右往左 )
# print(str[-6]) y

# 1.3 对于str来说,只能按照索引取值不能按照索引改值
# str[-6] = 'a' 会报错

    2.切片(顾头不顾尾,步长)

str = 'hello python!'
# 2.1 顾头不顾尾,取0到5的所有字符
#print(str[0:6])

# 2.2 步长 0:6:2 第三个参数2代表从0开始依次累加2
# print(str[0:6:2])

# 2.3 反向切片
# print(str[::-1])

    3.长度len:获取字符串的长度,及字符串的个数,但凡存在引号内的都是字符 空格也算字符print(len(str))

    4.成员运算:in 和 not in

str = ‘hello word’
#     4.1 int:判断该字符是否在某个字符串中
#     print('hello' in str)
#     4.2 not in:判断该字符是否不在某个字符串中
#     print('adsa' not in str)

    5.strip移除字符串首尾指定的字符(默认移除空格)

#     5.1括号内不指定字符,则默认移除首尾空格
#     str1 = '   aaaaaa    '
#     print(str1.strip())
#
#     5.2括号内指定了字符,则移除首尾指定的字符
#     str2 = '****sdaasd****'
#     print(str2.strip('*'))

    6.切分split

#   6.1括号内不指定字符,则默认以空格作为切分符号
#    str3 = 'adasd sdaas'
#     print(str3.split())
#
#     6.2括号内指定字符,则以指定字符作为切分符号
#     str4 = '127.0.0.1'
#     print(str4.split('.'))
#
#     指定分隔次数(了解)
#     info='egon:18:male'
#     res=info.split(':',1)
#     print(res)
#
#      ps:split切割得到的结果是列表

    7.循环

# info='asdasgfasg'
# for x in info:
#     print(x)

   

  需要掌握

    1.strip, lstrip, rstrip

str = '***aaa***'
str.strip('*')  # 移除左右两边的指定字符>>>'aaa'

str.lstrip('*')  # 只移除左边的指定字符>>>'aaa***'

str.rstrip('*')  # 只移除右边的指定字符>>>'***aaa'

    2..lower(),upper()

str = 'My nAme is Jun!'
str.lower() # 将英文字符串全部变小写

str.upper() # 将英文字符串全部变大写

    3.startswith,endswith

str = 'sadsadsa'
# startswith判断字符串是否以括号内指定的字符开头,结果为布尔值True或False
str.startswith('s')
True
str.startswith('a')
False
# endswith()判断字符串是否以括号内指定的字符结尾,结果为布尔值True或False
str.endswith('sa')
True
str.endswith('aa')
False

    4.格式化输出之format

      在之前的博客中

    5.split,rsplit

# split会按照从左到右的顺序对字符串进行切分,可以指定切割次数
str='C:/a/b/c/d.txt'
str.split('/',1)
['C:', 'a/b/c/d.txt']

# rsplit刚好与split相反,从右往左切割,可以指定切割次数
str='a|b|c'
str.rsplit('|',1)
['a|b', 'c']

    6.join

# 从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串
'|'.join('aaa')# 从字符串'aaa'中取出多个字符串,然后按照|作为分隔符号进行拼接
'a|a|a'
'*'.join(['tony','18','read'])# 从列表中取出多个字符串,然后按照*作为分隔符号进行拼接
'tony*18*read'

    7.replace

# 用新的字符替换字符串中旧的字符
msg="you can you up no can no bb"
print(msg.replace("you","YOU",))
print(msg.replace("you","YOU",1))# 只把一个you改为YOU

    8.isdigit

#4.2.8、isdigit
# 判断字符串是否由纯数字组成
# print('123'.isdigit())
# print('12.3'.isdigit())

  了解

# 1.find,rfind,index,rindex,count
msg='hello egon hahaha'
#1.1 find:从指定范围内查找子字符串的起始索引,找得到则返回数字1,找不到则返回-1
print(msg.find('e'))

#1.2 index: 同find,但在找不到时会报错
print(msg.index('e', 2, 4)) #找不到报错

#1.3 count:统计字符串在大字符串中出现的次数
print(msg.count('e'))
# 字符串e在索引1~5范围内出现的次数
print(msg.count('e', 1, 6))


# 2.center,ljust,rjust,zfill
print('jun'.center(30,'*'))# 总宽度为30,字符串居中显示,不够用-填充
print('jun'.ljust(30,'*'))# 总宽度为30,字符串左对齐显示,不够用*填充
print('jun'.rjust(30,'*'))# 总宽度为30,字符串右对齐显示,不够用*填充
print('jun'.zfill(10))# 总宽度为50,字符串右对齐显示,不够用0填充


#3.expandtabs
msg='hello	world'
print(msg.expandtabs(2)) # 设置制表符代表的空格数为2

# 4.captalize,swapcase,title
print("hello world egon".capitalize())#首字母大写
print("Hello WorLd EGon".swapcase())#大小写翻转
print("hello world egon".title())#每个单词的首字母大写

# 5.is数字系列
num1 = b'4' #bytes
num2 = u'4' #unicode,python3中无需加u就是unicode
num3 = '' #中文数字
num4 = '' #罗马数字

# isdigit只能识别:num1、num2
print(num1.isdigit()) # True
print(num2.isdigit()) # True
print(num3.isdigit()) # False
print(num4.isdigit()) # False

# isnumberic可以识别:num2、num3、num4
print(num2.isnumeric()) # True
print(num3.isnumeric()) # True
print(num4.isnumeric()) # True

# isdecimal只能识别:num2
print(num2.isdecimal()) # True
print(num3.isdecimal()) # False
print(num4.isdecimal()) # False

# 6.is其他
name = 'tony123'
print(name.isalnum()) #字符串中既可以包含数字也可以包含字母
print(name.isalpha()) #字符串中只包含字母
print(name.isidentifier())
print(name.islower())  # 字符串是否是纯小写
print(name.isupper())  # 字符串是否是纯大写
print(name.isspace())  # 字符串是否全是空格
print(name.istitle())  # 字符串中的单词首字母是否都是大写
View Code

作业

name = " aleX"
# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果print(name.startswith('al'))
# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('X'))
# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace('l','p'))
# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split('l'))
# 6)    将 name 变量对应的值变大写,并输出结果print(name.upper())
# 7)    将 name 变量对应的值变小写,并输出结果print(name.lower())
# 8)    请输出 name 变量对应的值的第 2 个字符?
print(name[1])
# 9)    请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 10)    请输出 name 变量对应的值的后 2 个字符?print(name[-1:2:-1])
# 11)    请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))
# 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
print(name[:-1])
原文地址:https://www.cnblogs.com/bk134/p/12456609.html