欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据类型及字符编码

程序员文章站 2022-07-23 20:42:00
1.数据类型: 数字(整型,长整型,浮点型,复数) 字符串:在介绍字符编码时介绍字节bytes类型 列表 元祖 字典 集合 2.整型 int 作用:年级/等级/身份证号等整型数字相关 定义: age=10 本质上age=int(10) 常用操作+内置方法 3. 浮点型 float 作用:薪资/身高/ ......

1.数据类型:
  数字(整型,长整型,浮点型,复数)
  字符串:在介绍字符编码时介绍字节bytes类型
  列表
  元祖
  字典
  集合

2.整型 int
  作用:年级/等级/身份证号等整型数字相关
  定义: age=10  本质上age=int(10)

 

十进制转成。。。进制
print(bin(13))    #将整型转变成二进制
print(oct(13))    #将整型转变成八进制
print(hex(13))    #将整型转变成十六进制

 

 

 

常用操作+内置方法

 

# 存一个值

# 不可变
# x=10
# print(id(x))
# x=11
# print(id(x))

 

 

 

 3. 浮点型 float 

  作用:薪资/身高/体重等浮点数相关

 salary=3000.3 #本质salary=float(3000.3)

 

 类型转换

print(float(10))
print(float(1.1))
print(float('1.1'))

 

 

 

 

4.字符串类型 str

  作用:记录描述性值的状态,比如名字/性别等

msg='hello world' #msg=str('hello world')

 

 类型转换:可以把任意类型转成字符串类型

res1=str(10)
res2=str(10.3)
res3=str([1,2,3])
res4=str({'x':1}) #res4="{'x':1}"

 

 

 

*****常用操作+内置的方法

1.按索引取值(正向取+反向取):只能取

 

msg='hello world'

print(type(msg[0]))
print(msg[-1])

msg[0]='h'

 

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

msg='hello world'
print(msg[0]+msg[1]+msg[2])
print(msg[0:5])
print(msg[0:5:2]) 
print(msg[0:]) 
print(msg[:]) 

print(msg[-1:-5:-1]) #-1 -2 -3 -4
print(msg[::-1]) #-1 -2 -3 -4

3.长度 len :统计的是字符的个数

4.成员运算 in 和 not in : 判断一个子字符是否存在于一个大字符串中

# msg='hello world'
# print('ho' in msg)
# print('ho' not in msg)

 

5.移除空白 strip : 移除字符串左右两边的某些字符

msg='      hello      '

print(msg.strip(' '))
print(msg.strip())
print(msg)

name=input('name>>>: ').strip() #name='egon'
pwd=input('password>>>: ').strip()

if name == 'egon' and pwd == '123':
    print('login successfull')
else:
    print('username or password error')

msg='***h**ello**********'
print(msg.strip('*'))

msg='*-=+h/ello*(_+__'
print(msg.strip('*-=+/(_'))

 

6.切分 split :把有规律的字符串切成列表从而方便取值

info='egon:18:180:150'
res=info.split(':',1)
print(res)
print(res[1])


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


s1=res[0]+':'+res[1]+':'+res[2]+':'+res[3]
s1=''
for item in res:
    s1+=item
print(s1)


s1=':'.join(res)
print(s1)

':'.join([1,2,3,4,5])

 

 

7.循环

for i in 'hello':
    print(i)

 

 

****需要掌握的操作

1.strip , lstrip , rstrip 

msg='*****hello****'
print(msg.strip('*'))
print(msg.lstrip('*'))
print(msg.rstrip('*'))

 

2.lower , upper

msg='aabbcc123123123'
print(msg.lower())
print(msg.upper())

#执行之后
#aabbcc123123123
#aabbcc123123123

 

3. startswith , endswith

msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.endswith('sb'))

#执行之后
#true
#true

 

4.format 的三种玩法

msg='my name is %s my age is %s' %('egon',18)
print(msg)

#执行之后
#my name is egon my age is 18
msg='my name is {name} my age is {age}'.format(age=18,name='egon')
print(msg)

#执行之后
#my name is egon my age is 18

 

msg='my name is {} my age is {}'.format(18,'egon')
msg='my name is {0}{0} my age is {1}{1}{1}'.format(18,'egon')
print(msg)

#执行之后
#my name is 1818 my age is egonegonegon

 

5.split , rsplit 

cmd='get|a.txt|33333'
print(cmd.split('|',1))
print(cmd.rsplit('|',1))

#执行之后
#['get', 'a.txt|33333']
#['get|a.txt', '33333']

 

6. replace 

msg='kevin is sb kevin kevin'
print(msg.replace('kevin','sb',2))

#sb is sb sb kevin

 

7. isdigit (当字符串内为纯数字时结果为true

res='11111'
print(res.isdigit())
int(res)

#true

 

age_of_bk=18
inp_age=input('your age: ').strip()
if inp_age.isdigit():
    inp_age=int(inp_age) #int('asdfasdfadfasdf')
    if inp_age > 18:
        print('too big')
    elif inp_age < 18:
        print('to small')
    else:
        print('you got it')
else:
    print('必须输入纯数字')

 

 

** (了解)

1.find, rfind, index, rindex, count

find 和 index用法差不多,find比index功能强大,优先使用find

print('xxxkevin is sb kevin'.find('kevin'))
print('xxxkevin is sb kevin'.index('kevin'))
print('xxxkevin is sb kevin'.rfind('kevin'))
print('xxxkevin is sb kevin'.rindex('kevin'))

#执行之后
3
3
15
15

 

print('kevin is kevin is kevin is sb'.count('kevin'))

#执行之后
# 3

 

2. center, ljust ,rjust , zfill

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

#执行之后
***********************egon***********************
egon**********************************************
**********************************************egon
0000000000000000000000000000000000000000000000egon

 3. captalize , swapcase , title

print('my name is kevin'.capitalize())
print('aabbcc'.swapcase())
print('my name is kevin'.title())

#执行之后
my name is kevin
aabbcc
my name is kevin

 

 

 

4.is其他

name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成

print(name.islower())
print(name.isupper())
name='    '
print(name.isspace())
msg='i am egon'
print(msg.istitle())


#执行之后
true
false
true
false
true
true