数据类型1

1. 数据类型

1.1 数字

         数字的作用:与数字相关,例如:手机号、QQ号、身份证号等,用数字表示

         数字分为:整数(int)、浮点数(float)、复数(了解)

         例子:

age = 10
print(type(age))
salary = 5680.85
print(type(salary)) 

         长整型和复数,了解即可

         长整型:在pyhton2中使用,在python3已经废弃掉

         复数:

x = 1 - 2j        # 定义
print(x.real)     # 获取实部
print(x.imag)     # 获取虚部

         整数分为:二进制、八进制、十进制、十六进制等

         进制之间可以相互转换,例如:

age = 10  # age=int(10)
print(bin(age))  # 十进制转化为二进制
print(oct(age))  # 十进制转化为八进制
print(hex(age))  # 十进制转化为十六进制

1.2 字符串

作用:定义名字、地址、国籍等描述性信息

定义:在单引号、双引号、三引号内由一串字符组成;字符串,本身存储一个值,由一串字符组成。

常用操作有:

         移除空白

         切分

         长度

         索引

         切片

1.2.1 移除空白

移除空白的方法是strip,例如:

msg='    welcome to beijing     '
print(msg.strip())   # 移除左右两侧空白
print(msg.rstrip())  # 移除右侧空白
print(msg.lstrip())  # 移除左侧空白

运行结果:

welcome to beijing
    welcome to beijing
welcome to beijing    

移除指定字符,比如移除指定字符’*’,例如:

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

运行结果:

python
python******
******python 

1.2.2 切分

字符串切分,通过制定切分字符,进行切分,切分的结果是一个列表,例如:

user_info='root:x:0:0::/root:/bin/bash'
user_list=user_info.split(':')
print(user_list)

运行结果:

['root', 'x', '0', '0', '', '/root', '/bin/bash'] 

指定切分次数进行字符串切分,例如:

cmd_info='get|sys.log|error'
cmd_list=cmd_info.split('|',1)
print(cmd_list)

运行结果:

['get', 'sys.log|error']

字符串默认切分分割符空格,例如:

msg='my name is jack '

运行结果:

['my', 'name', 'is', 'jack']

1.2.3长度

统计字符串长度,实际就是统计字符的个数,例如:

msg='hello world'
print(msg.__len__())  # 属于内置方法
print(len(msg))       # 等价于msg.__len__() 

1.2.4 切片

切片,跟下标有关,顾头不顾尾的操作,例如:

复制代码
msg = 'hello world'
print(msg[1:4])
print(msg[:4])
print(msg[4:])
print(msg[:-1])
print(msg[:])
print(msg[2:7:2])
复制代码
执行结果:
ell
hell
o world
hello worl
hello world
low

1.2.5 其他操作

1.2.5.1 endswith startswith

startswith 以…开头,判断的结果是True、False

endswith 以…结尾,判断的结果是True、False

例如:

name='alex_SB'
print(name.endswith('SB'))      # 以SB开头,判断成功,显示True
print(name.startswith('alex'))  # 以alex结果,判断成功,显示True 

1.2.5.2 replace

replace字符串的替换,例如:

name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))     # 指定替换次数

1.2.5.3 format

字符串本身提供字符串格式的方法format,例如:

print('{} {} {}'.format('jack',58,'male'))
print('{0} {1} {0}'.format('jack',58,'male'))
print('NAME:{name} AGE:{age} SEX:{sex}'.format(age=58,sex='male',name='jack'))

运行结果:

jack 58 male
jack 58 jack
NAME:jack AGE:58 SEX:male

1.2.5.4 isdigit

判断字符串是否为数据,提供了三种方法isdigit、

num='123'
print(num.isdigit()) 

利用isdigit判断是否为数字,进行程序的判断运行

复制代码
jack_age=73
while True:
    age=input('>>: ').strip()
    if len(age) == 0:continue
    if age.isdigit():
        age=int(age)
        print(age,type(age))
复制代码

1.2.5.5 find index

name='jack say hello'
print(name.find('o',1,3))   # 顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
print(name.index('e',2,4))  # 同上,但是找不到会报错
print(name.count('e',1,3))  # 顾头不顾尾,如果不指定范围则查找所有 

1.2.5.6 join

利用join,进行字符串的拼接,内容必须是字符串;否则会类别报错,

l=['jack','say','hello','world'] #类别内容必须都是字符串
print(':'.join(l))
tag=' '
print(tag.join(['jack','say','hello','world'])) #可迭代对象必须都是字符串 

1.2.5.7 填充

利用center方法,进行填充,填充可以指定字符,默认填充字符是空格,例如:

name='jack'
print(name.center(30))
print(name.center(30,'*'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(30))

运行结果:

             jack            
*************jack*************
jack**************************
**************************jack
00000000000000000000000000jack

1.2.5.8 expandtabs

指定tab键空格数量,默认的tab键是四个空格,例如:

name='jack	hello'
print(name)
print(name.expandtabs(2)) 

1.2.5.9 大小写转换

name='JACK'
print(name.lower())  # 大写转小写
name='jack'
print(name.upper()) # 小写转大写 

1.2.5.10  capitalize swapcase title

复制代码
name='jack say'
print(name.capitalize()) # 首字母大写
print(name.swapcase())   # 大小写翻转
msg='jack say hi'
print(msg.title())       # 每个单词的首字母大写
name='jack123'
print(name.isalnum())    # 字符串由字母和数字组成
name='jack'
print(name.isalpha())    # 字符串只由字母组成
复制代码

运行结果:

Jack say
JACK SAY
Jack Say Hi
True
True 

1.2.5.11 判断数字

利用isdigit判断是否为数字,可以对Bytes、unicode进行数字判断:

复制代码
num1=b'4' #Bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字

print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())
复制代码
运行结果:
True
True
False
False

利用isnumberic进行判断中文和罗马的数字

num1='四' #中文数字
num2='Ⅳ' #罗马数字
print(num1.isnumeric())
print(num2.isnumeric()) 

利用isdecimal进行判断unicode的数字

复制代码
num1=u'4' #unicode,python3中无需加u就是unicode
num2='四' #中文数字
num3='Ⅳ' #罗马数字

#isdecimal:对unicode的数字进行判断
print(num1.isdecimal())  # 结果True
print(num2.isdecimal())  # 结果False
print(num3.isdecimal())  # 结果False
原文地址:https://www.cnblogs.com/ldq1996/p/7196973.html