数据类型
文章目录
前言
数据类型包括:可变数据类型 和 不可变数据类型
数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
区别:
①不可变类型:value(值)一旦改变,id(内存地址)也改变,则称为不可变类型(id变,意味着创建了新的内存空间)
②可变类型:在id(内存地址)不变的情况下,value(值)可以变,则称为可变类型
一、Number类型
使用type()可以查看数据的类型,当代码量少的时候可以用 ; 作为分割, # 号可以注释
分类:int(整型);float(浮点型);bool(布尔型);complex(复数型)
运算方式:+ - * / // % **(加、减、乘、除、取整、取余、乘方)
#查看类型
a=1;b=1.1;c=True;d=2+2j #a,b,c,d分别是int,float,bool,complex
l1=[a,b,c,d] #将Number类型的元素放入列表中
for i in l1: #通过for循环打印列表中的元素出来 type()可以查看数据类型
print(type(i))
#运算
5 + 4 # 加法
4.3 - 2 # 减法
3 * 7 # 乘法
2 / 4 # 除法,得到一个浮点数
2 // 4 # 取整,得到一个整数
17 % 3 # 取余
2 ** 5 # 乘方
#注意:float不精确,例如:1.2-1=0.19999
import decimal #需要导入 decimal库
a= decimal.Decimal('2.2')
b= decimal.Decimal('0.2')
print(a-b)
import math #需要导入math库让float元素向上取整
print(math.ceil(5.6)) #通过math函数让浮点数向上取整
print(int(5.6)) #强制转换
a=4;print(a+3+5j) #加法运算
print(bool(0)) #有数值就是True 0就是Flase
print(bool(a+3+5j)) #就算虚部为0也要写上去 →a=3+0j
二、String类型
‘’,''' ''' :用单引号或者三引号括起来的内容都是字符串
#定义
str1 = 'abcdefg'
str2 = ''' hello world''' #三引号支持换行噢,不信你试试
print(type(str1))
#常用运算
print(str1+str2) #字符串还可以相加噢
#转义字符
print('ab \n cdef \t gh') #\n 换行 \t 空格
#字符切片 => a[x:y:z] => x:开始索引值 y:结束索引值 z:步长 (都分别可以为空值,步长默认为1)
str3 = 'Padaz hello!!'
print(str3[0:3:2])
#要是前面没有数字 => c[:2]就是从最开始的位置开始取值
#要是后面没有数字= > c[2:]就是从索引为2的开始取到最后面
#步长 => c[0:5:2] 步长为2就是每隔两个取一次
#字符串方法
str1 = 'hello world!!! '
print('计算出现了多少次:'+str(str1.count('h')))
print('返回指定值的下标:'+str(str1.index('w',5)))
print('判断一个字符串里的数据是不是都是数字:'+str(str1.isdigit()))
print('判断每个元素是不是字母:'+str(str1.isalpha()))
print('比较结尾的元素是否相同:'+str(str1.startswith('h')))
print('判断字符串中的值是否全是大写的:'+str(str1.isupper()))
print('把所有的字母转成大写:'+str(str1.upper()))
print('把所有的字母转成小写:'+str(str1.lower()))
print('(lstrip,rstrip)、去除空格、带参数去除指定元素的开头和结尾的相同的元素:'+str(str1.strip()))
print('把第一个字母转换成大写:'+str(str1.capitalize()))
print('把单词的首字母进行大写转换:'+str(str1.title()))
print('有参数默认以空格来切割、有参数:'+str(str1.split()))
print('替换把对象中有的值放第一个参数中替换成第二个参数:'+str(str1.replace('!','?')))
#其他的方法在下面大家可以试一下