基本数据类型及其内置方法(数字、字符串)

一:int类型

1、作用:描述年龄、身份证、数量

2、定义:

age = 10 # age=int(10)

3.类型转换

3.1 纯数字的字符串转成int

res=int('100111')
print(res,type(res))
100111 <class 'int'>

3.2(了解)

2.2.1 十进制转成其他进制

10进制 -> 二进制

print(bin(11)) # 0b1011

10进制 -> 八进制

print(oct(11)) # 0o13

10进制 -> 十六进制

print(hex(11)) # 0xb

3.2.2 其他制转成其十进制

二进制->10进制

print(int('0b1011',2)) # 11

print(int('0b1011',2)) # 11

二进制->8进制

print(int('0o13',8)) # 11

二进制->16进制

print(int('0xb',16)) # 11

二:float类型

1、作用:用于描述薪资,身高,体重等

2、定义

salary=3.1 # salary=float(3.1)

3、类型转换

res=float("3.1")
print(res,type(res))

4、使用

int与float没有需要掌握的内置方法
他们的使用就是数学运算+比较运算

三:字符串类型

1、作用:用于描述某种状态,如人的名字,外貌

2、定义

# msg='hello' # msg=str('msg')
# print(type(msg))

3、类型转换

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

# res=str({'a':1})
# print(res,type(res))
{'a': 1} <class 'str'>

4、使用:内置方法

4.1 优先掌握

4.1.1、按索引取值(正向取+反向取) :只能取

msg='hello world'

正向取

msg='hello world'
print(msg[0])
print(msg[5])
h
 是一个空格

反向取

print(msg[-1])
d

只能取

msg[0]='H'     直接报错,字符串是不可变的
 File "C:/Users/Administrator/Desktop/3.10/03 字符串类型.py", line 22, in <module>
    msg[0]='H'
TypeError: 'str' object does not support item assignment

4.1.2、切片:索引的拓展应用,从一个大字符串中拷贝出一个子字符串

msg='hello world'

顾头不顾尾

res=msg[0:5] #  从0开始4结束
print(res)
hello

步长

res=msg[0:5:2] # 0 2 4
print(res) # hlo

反向步长(了解)

res=msg[5:0:-1]
print(res) #  olle
 olle

res=msg[:] # res=msg[0:11]  
print(res)
hello world

res=msg[::-1] # 把字符串倒过来
print(res)
dlrow olleh

4.1.3、长度len

msg='hello world'
print(len(msg))
11

4.1.4、成员运算in和not in

判断一个子字符串是否存在于一个大字符串中

print("alex" in "alex is sb")
print("alex" not in "alex is sb")  # 不推荐使用
print(not "alex" in "alex is sb") 
True
False
False

4.1.5、移除字符串左右两侧的符号strip

默认去掉的空格

msg='      egon      '
res=msg.strip()
print(msg) # 不会改变原值
print(res) # 是产生了新值
      egon      
egon

去掉的其他字符

msg='****egon****'
print(msg.strip('*'))
egon

msg='****e*****gon****'
print(msg.strip('*'))
e*****gon  了解:strip只取两边,不去中间

应用

inp_user=input('your name>>: ').strip() # inp_user=" egon"
inp_pwd=input('your password>>: ').strip()
if inp_user == 'egon' and inp_pwd == '123':
    print('登录成功')
else:
    print('账号密码错误')

4.1.6、切分split:把一个字符串按照某种分隔符进行切分,得到一个列表

默认分隔符是空格

info='egon 18 male'
res=info.split()
print(res)
['egon', '18', 'male']

指定分隔符

info='egon:18:male'
res=info.split(':')
print(res)

指定分隔次数(了解)

info='egon:18:male'
res=info.split(':',1)
print(res)

4.1.7、循环

info='egon:18:male'
for x in info:
    print(x)  依次输出

4.2 需要掌握

4.2.1、strip,lstrip,rstrip

msg='***egon****'
print(msg.strip('*'))
print(msg.lstrip('*'))
print(msg.rstrip('*'))
egon****
***egon
egon:18:male

4.2.2、lower,upper

msg='AbbbCCCC'
print(msg.lower())
print(msg.upper())
abbbcccc
ABBBCCCC

4.2.3、startswith,endswith

print("alex is sb".startswith("alex"))
print("alex is sb".endswith('sb'))
True
True

4.2.4、format

见之前格式化输出

4.2.5、split,rsplit:将字符串切成列表

info="egon:18:male"
print(info.split(':',1)) # ["egon","18:male"]
print(info.rsplit(':',1)) # ["egon:18","male"]

4.2.6、join: 把列表拼接成字符串

l=['egon', '18', 'male']
res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
print(res)
egon:18:male

4.2.7、replace

msg="you can you up no can no bb"
print(msg.replace("you","YOU",))
print(msg.replace("you","YOU",1))  只替换第一个
YOU can YOU up no can no bb
YOU can you up no can no bb

4.2.8、isdigit

判断字符串是否由纯数字组成

print('123'.isdigit())
print('12.3'.isdigit())
True
False

应用

# age=input('请输入你的年龄:').strip()
# if age.isdigit():
#     age=int(age) # int("abbab")
#     if age > 18:
#         print('猜大了')
#     elif age < 18:
#         print('猜小了')
#     else:
#         print('才最了')
# else:
#     print('必须输入数字,傻子')

4.3了解

4.3.1、find,rfind,index,rindex,count

msg='hello egon hahaha'
print(msg.find('e')) # 返回要查找的字符串在大字符串中的起始索引
print(msg.find('egon'))
print(msg.index('e'))
print(msg.index('egon'))
1
6
1
6
# print(msg.find('xxx')) # 返回-1,代表找不到
# print(msg.index('xxx')) # 抛出异常

计数count

msg='hello egon hahaha egon、 egon'
print(msg.count('egon'))
3

4.3.2、center,ljust,rjust,zfill

print('egon'.center(50,'*'))
print('egon'.ljust(50,'*'))
print('egon'.rjust(50,'*'))
print('egon'.zfill(10))
***********************egon***********************
egon**********************************************
**********************************************egon
000000egon

4.3.3、expandtabs

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

4.3.4、captalize,swapcase,title

print("hello world egon".capitalize())   第一个单词首字母大写
print("Hello WorLd EGon".swapcase())   大小写互换
print("hello world egon".title())      每个单词首个字母大写
Hello world egon
hELLO wORlD egON
Hello World Egon

4.3.5、is数字系列

4.3.6、is其他

print('abc'.islower())   判断是否小写
print('ABC'.isupper())   判断是否大写
print('Hello World'.istitle())   判断每个单词首个字母是否大写
print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
print('ad'.isalpha()) # 字符串由由字母组成结果为True
print('     '.isspace()) # 字符串由空格组成结果为True
print('print'.isidentifier())      字符定义规范
print('age_of_egon'.isidentifier())
print('1age_of_egon'.isidentifier())
True
True
True
True
True
True
True
True
False

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
posted @ 2020-03-10 18:37  aksas  阅读(294)  评论(0编辑  收藏  举报