day 07总结(数字类型内置方法/字符串类型内置方法)

一、数字类型内置方法

整型和浮点型统称为数字类型。

1.整型内置方法(int)

  • 作用:描述年龄、号码、等级等。

  • 定义方式:可以使用int()方法将纯数字的字符串转为十进制的整型。

    使用方法:

    age = 20
    x = int('20')
    print(type(age))
    print(type(x))
    

    结果:

    <class 'int'>
    <class 'int'>
    

    错误定义方式:

    x = int('1.1')

  • 内置方法:无内置方法,只有算术运算和比较运算。

  • 存一个值or多个值:一个值。

  • 是否有序:不存在是否有序一说。

  • 是否可变:不可变数据类型。

    说明:

    x = 10
    print(id(x))
    x += 1
    print(id(x))
    

    结果:

    140713871926384
    140713871926416
    

    变量值改变,id同时跟着改变,所以整型为不可变数据类型。

2.浮点型内置方法(float)

  • 作用:描述薪资、身高、体重等。

  • 定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字。

    使用方法:

    salary = 3.2
    x = float('100')
    y = float('11.1')
    print(type(salary))
    print(type(x))
    print(x)
    print(type(y))
    

    结果:

    <class 'float'>
    <class 'float'>
    100.0
    <class 'float'>
    
  • 内置方法:无内置方法,只有算术运算和比较运算。

  • 存一个值or多个值:一个值。

  • 是否有序:不存在是否有序一说。

  • 是否可变:不可变数据类型。

    说明:

    salary = 3.2
    print(id(salary))
    salary = 4.2
    print(id(salary))
    

    结果:

    2044777211080
    2044777211056
    

    变量值改变,id同时跟着改变,所以浮点型为不可变数据类型。

二、字符串类型内置方法

  • 作用:描述人的名字、单个爱好、地址、国家等。

  • 定义:使用''、""、''''''、""""""包裹的的一串字符。

    • u'unicode': unicode编码的字符串。
    • b'101': 二进制编码的字符串。
    • r'\n': 原生字符串,也就是说'\n'这是普通的两个字符,并没有换行的意思。

    使用方法:

    s1 = 'Tbb'
    s2 = str(1.1)
    print(type(s1))
    print(type(s2))
    

    结果:

    <class 'str'>
    <class 'str'>
    
  • 常用操作+内置方法:分为优先掌握、需要掌握、其他操作。

1.优先掌握:

1.1 按索引取值(只可取不可改变)

使用方法:

s1 = 'My name'
print(s1[4])
print(s1[-1])

结果:

a
e

1.2 切片(顾头不顾尾,步长)

使用方法:

s1 = 'My name'
print(s1[1:4])	#切片,取出索引1,2,3
print(s1[0::2]) #切片,步长为2

结果:

y n
M ae

1.3 长度len

使用方法:

s1 = 'My name'
print(len(s1))

结果:

7

1.4 成员运算in和not in

使用方法:

s1 = 'My name is Tbb,age is 20'
print('Tbb' in s1)
print('Tom' in s1)
print('20' not in s1)

结果:

True
False
False

1.5 移除空白strip()

使用方法:

s1 = '    my love    '
s2 = '****your name!!!!'
print(s1.strip())	## strip()默认为‘ ’,并且不修改原值,新创建空间
print(s2.strip('*!em'))

结果:

my love
your na

1.6 切分split

使用方法:

ip = '11.11.22.33'
ip1 = ip.split('.')
ip2 = ip.split('.',2)
print(ip1)
print(ip2)

结果:

['11', '11', '22', '33']
['11', '11', '22.33']

1.7 循环

使用方法:

s1 = 'My name'
for i in s1:
    print(i)

结果:

M
y
 
n
a
m
e

2.需要掌握:

2.1 lstrip()和rstrip()

使用方法:

s1 = '****my name***'
print(s1.lstrip('*'))
print(s1.rstrip('*'))

结果:

my name***
****my name

2.2 lower()和upper()

使用方法:

s1 = 'My name'
print(s1.lower())
print(s1.upper())

结果:

my name
MY NAME

2.3 startswith()和endswith()

使用方法:

s1 = 'My name'
print(s1.startswith('my'))
print(s1.endswith('name'))

结果:

False
True

2.4 rsplit()

使用方法:

ip = '11.22.33.44'
ip1 = ip.split('.',2)
ip2 = ip.rsplit('.',2)
print(ip1)
print(ip2)

结果:

['11', '22', '33.44']
['11.22', '33', '44']

2.5 join()

使用方法:

s1 = ['11','22','33','44']
print('.'.join(s1))

结果:

11.22.33.44

2.6 replace()

使用方法:

s1 = 'I like swimming'
print(s1.replace('swimming','running'))

结果:

I like running

2.7 isdigit()

使用方法:

salary1 = '111'
salary2 = '111.1'
print(salary1.isdigit())  
print(salary2.isdigit())

结果:

True
False

3.其他操作

3.1 find()、rfind()、index()、rindex()、count()

使用方法:

msg = 'my name is tank, tank shi sb, hha'

print(f"msg.find('tank'): {msg.find('tank')}")  # 找不到返回-1
print(f"msg.find('tank',0,3): {msg.find('tank',0,3)}")
print(f"msg.rfind('tank'): {msg.rfind('tank')}")  # 找不到返回-1
print(f"msg.index('tank'): {msg.index('tank')}")  # 找不到报错
print(f"msg.rindex('tank'): {msg.rindex('tank')}")  # 找不到报错      
print(f"msg.count('tank'): {msg.count('tank')}")

结果:

msg.find('tank'): 11
msg.find('tank',0,3): -1
msg.rfind('tank'): 17
msg.index('tank'): 11
msg.rindex('tank'): 17
msg.count('tank'): 2

3.2 center()、ljust()、rjust()、zfill()

使用方法:

print(f"'info tbb'.center(50,'*'): {'info tbb'.center(50,'*')}")
print(f"'info tbb'.ljust(50,'*'): {'info tbb'.ljust(50,'*')}")
print(f"'info tbb'.rjust(50,'*'): {'info tbb'.rjust(50,'*')}")
print(f"'info tbb'.zfill(50): {'info tbb'.zfill(50)}")  # 默认用0填充

结果:

'info tbb'.center(50,'*'): ********************info tbb*********************
'info tbb'.ljust(50,'*'): info tbb*****************************************
'info tbb'.rjust(50,'*'): *****************************************info tbb
'info tbb'.zfill(50): 00000000000000000000000000000000000000000info tbb

3.3 expandtabs()

使用方法:

print(f"a\\tb\\tc: %s"%('a\tb\tc\t'))  # 默认制表符8个空格
print(f"'a\\tb\\tc'.expandtabs(32): %s"%('a\tb\tc\t'.expandtabs(32)))

结果:

a\tb\tc: a	b	c	
'a\tb\tc'.expandtabs(32): a                               b                               c                               

3.4 capitalize()、swapcase()、title()

使用方法:

s1 = 'my Name'
print(f"s1.capitalize(): {s1.capitalize()}")
print(f"s1.swapcase(): {s1.swapcase()}")  # 大小写互转
print(f"s1.title(): {s1.title()}")

结果:

s1.capitalize(): My name
s1.swapcase(): MY nAME
s1.title(): My Name

3.5 is数字系列

  • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。
  • isdigit(): 如果字符串只包含数字则返回True,否则返回False。
  • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。
  • isalnum(): 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。
  • isalpha(): 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。
  • islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。
  • isspace(): 如果字符串中只包含空白,则返回True,否则返回False
  • isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False。
  • istitle(): 如果字符串是标题类型的(见title()),则返回True,否则返回False。

只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit()即可。其他只做了解。

  • 存一个值or多个值:一个值。

  • 是否有序:字符串存在索引是有序的。

  • 是否可变:不可变数据类型。

    说明:

    name = 'Tbb'
    print(id(name))
    name = 'frank'
    print(id(name))
    

    结果:

    1264470942584
    1264470942752
    

    变量名改变,id同时跟着改变,所以字符串类型为不可变数据类型。

原文地址:https://www.cnblogs.com/mgytz/p/11289154.html