整体初识数据类型:
int:
1,2,3,..
主要是用于计算
#数字所占位数 i = 4 print(i.bit_length()) 0 0000 0000 1 0000 0001 2 0000 0010 3 0000 0011 4 0000 0100
str:
存储少量的数据,便于操作.
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
# s = ‘alex wusir ritianfhdskjlafjdskl;fjsdal‘ s1 = s[0] print(s1,type(s1)) s2 = s[2] print(s2,type(s2)) s3 = s[-1] print(s3) s4 = s[-2] print(s4)
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
#切片 顾首不顾尾 s5 = s[0:4] print(s5) s6 = s[2:6] print(s6) s7 = s[5:] print(s7) s8 = s[0:] s81 = s[:] print(s8,s81) [起始索引:终止索引:步长] s9 = s[0:3:2] print(s9) 倒叙取 s10 = s[-1:-6:-2] print(s10) s11 = s[3:0:-2] print(s11) s12 = s[2::-2] print(s12)
字符串常用方法。
#captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg=‘egon say hi‘ print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #数字符串中的元素出现的个数。 # ret3 = a1.count("a",0,4) # 可切片 # print(ret3) a2 = "hqw\t" #\t前面的补全 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。 ret4 = a2.expandtabs() print(ret4) a4 = "dkfjdkfasf54" #startswith 判断是否以...开头 #endswith 判断是否以...结尾 # ret4 = a4.endswith(‘jdk‘,3,6) # 顾头不顾腚 # print(ret4) # 返回的是布尔值 # ret5 = a4.startswith("kfj",1,4) # print(ret5) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。 # ret9 = ‘title,Tilte,atre,‘.split(‘t‘) # print(ret9) # ret91 = ‘title,Tilte,atre,‘.rsplit(‘t‘,1) # print(ret91) #format的三种玩法 格式化输出 res=‘{} {} {}‘.format(‘egon‘,18,‘male‘) res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘) res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18) #strip name=‘*egon**‘ print(name.strip(‘*‘)) print(name.lstrip(‘*‘)) print(name.rstrip(‘*‘)) #replace name=‘alex say :i have one tesla,my name is alex‘ print(name.replace(‘alex‘,‘SB‘,1)) #####is系列 name=‘jinxin123‘ print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
#字符串的常用方法 s = ‘alex wuSir‘ # *capitalize()首字母大写,其他字母小写 # print(s.capitalize()) # *swapcase()大小写反转 # print(s.swapcase()) # 非字母隔开的部分,首字母大写,其他小写 #s = ‘alex wuSir1taibai*ritian‘ # print(s.title()) s = ‘alexawuSir‘ # ***upper 全部大写 # ***lower 全部小写 # print(s.upper()) # print(s.lower()) # code = ‘aeDd‘ # your_code = input(‘请输入验证码:‘) # if your_code.upper() == code.upper(): # print(‘输入正确‘) # else:print(‘请重新输入‘) # *以什么居中,填充物默认空 # print(s.center(20)) # print(s.center(20,‘*‘)) # # s = ‘al\tex wuSir‘ # print(s.expandtabs()) # ***find()通过元素找索引,可以整体找,可以切片,找不到返回-1 # index()通过元素找索引,可以整体找,可以切片,找不到会报错 # print(s.find(‘a‘),type(s.find(‘a‘))) # print(s.find(‘alex‘),type(s.find(‘a‘))) # print(s.find(‘a‘)) # print(s.find(‘a‘,1,5)) # print(s.find(‘L‘)) # print(s.index(‘L‘)) s = ‘alex wusir‘ #*** startswith endswith # print(s.startswith(‘a‘)) # print(s.startswith(‘al‘)) # print(s.startswith(‘w‘,5)) # print(s.startswith(‘W‘,5)) # print(‘adfads\n‘,‘fdsa‘) # print(s) # s = ‘\talex wusir\n‘ # s1 = ‘alalelllllllxwusirbl‘ #*****strip 去除字符串前后两端的空格,换行符,tab键等 # print(s.strip()) # print(s.lstrip()) # print(s.rstrip()) # print(s1.strip(‘lab‘)) # name = input(‘请输入名字:‘).strip() # if name == ‘alex‘: # print(‘somebody‘) # else:print(‘请重新输入‘) # s = ‘alex;wusir;ritian‘ # s1 = ‘alexalaria‘ #******split str --->list方法 # print(s.split(‘;‘)) # print(s.split(‘;‘)) # print(s1.split(‘a‘,1)) #replace ****** # s1 = ‘姐弟俩一起来老男孩老男孩老男孩‘ # s2 = s1.replace(‘老‘,‘小‘,1) # print(s2) # name=‘jinxin123‘ # print(name.isalnum()) #字符串由字母或数字组成 # print(name.isalpha()) #字符串只由字母组成 # print(name.isdigit()) #字符串只由数字组成 #************************format #第一种 # s = ‘我叫{},今年{},身高{}‘.format(‘金鑫‘,21,175) # print(s) #第二种 # s = ‘我叫{0},今年{1},身高{2},我依然叫{0}‘.format(‘金鑫‘,21,175) # print(s) #第三种 # s = ‘我叫{name},今年{age},身高{high}‘.format(name = ‘金鑫‘,high=175,age=21) # print(s) ####公共方法 # count 计算元素出现的次数 # s = ‘alexaaaaa wusir‘ # print(s.count(‘a‘)) # s = ‘alex‘ # print(len(s))
bool
字符串str,整数int,bool之前的转换
# True,False ‘‘‘ int ----> str str(int) str ----> int int(str) 只能是数字组成的字符串 int ----> bool 0 Fasle 非零 True bool ----> True T ---> 1 F --->0 str ---> bool 非空 True 空就是False bool ----> str str(True) str(False) ‘‘‘ # i = bool(3) # print(i) # i = bool(0) # print(i) # i = int(True) # print(i) # i = int(False) # print(i) # if 0: # print(‘aaaa‘) # while True: # pass # # while 1: # 执行效率高 # pass s = ‘‘ # print(bool(s)) # 非空是True # print(str(True),type(str(True)))
tuple 元组 :
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
列表list:
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
字典dict:
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
{‘name‘:‘alex‘,
‘age‘:54,
‘python10‘:[化工哥,小白,小黑,萌哥,,花哥,娶哥,阎王]
}
1,可存储大量数据,
2,关联型数据.
3,查找数据非常快.
set:
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3])
>>> s
set([1, 2, 3])
传入的参数[1, 2, 3]
是一个list,而显示的set([1, 2, 3])
只是告诉你这个set内部有1,2,3这3个元素,显示的[]不表示这是一个list。
for 循环:
for循环:用户按照顺序循环可迭代对象的内容。
msg = ‘老男孩python是全国范围内最好的python培训机构‘ for item in msg: print(item) li = [‘alex‘,‘银角‘,‘女神‘,‘egon‘,‘太白‘] for i in li: print(i) dic = {‘name‘:‘太白‘,‘age‘:18,‘sex‘:‘man‘} for k,v in dic.items(): print(k,v)