数据类型及字符编码

2018-11-22 08:45:19来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python学习手册之Python异常和文件

下一篇:流程控制之for循环