数据类型包括:可变数据类型 和 不可变数据类型
数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
区别:
①不可变类型:value(值)一旦改变,id(内存地址)也改变,则称为不可变类型(id变,意味着创建了新的内存空间)
②可变类型:在id(内存地址)不变的情况下,value(值)可以变,则称为可变类型
使用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
‘’,''' ''' :用单引号或者三引号括起来的内容都是字符串
#定义 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('!','?'))) #其他的方法在下面大家可以试一下