1.python数据总览
1.1 int整型
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data)
1.2 str字符串型
1.3 bool型
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
1.4 list列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
1.5 tuple元祖
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
1.6 dict字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
1.7 set 集合
2.python数据类型转换
int ---> str str(int) int(str)
int ----> bool : 非零及True,零即为False, True ---> 1 False ----> 0
bool <---> str: # str ---> bool 空字符串 bool False ,非空即True
3.int的常用方法
bit_length() 当十进制用二进制表示时,最少使用的位数
4.str的常用方法
4.1 capitalize() 首字母大写 ***
1 name = 'oldBoy' 2 3 print(name.capitalize())
4.2 center 字符串居中前后填充自定义的字符 **
print(name.center(20,'*'))
4.3 upper:全大写 lower *****
print(name.upper())
print(name)
print(name.lower())
# 应用举例:
username = input('请输入用户名:')
code = 'ADfer'.upper()
your_code = input('请输入验证码:').upper()
print(code, your_code)
if username == 'alex' and (your_code == 'ADFER' or ..or....
if username == 'alex' and your_code == code:
print('账号密码及验证码输入正确')
4.4 startswith endswith *****以什么字符开通和结尾
print(name.startswith('o'))
print(name.startswith('ol'))
print(name.startswith('B',3))
print(name.startswith('B',3))
print(name.startswith('ld', 1, 5))
print(name.startswith('oldBOy'))
print(name.endswith('o'))
4.5 swapcase 大小写翻转 **
# print(name.swapcase())
# s1 = 'alex wusir*taibai6nvshen'
4.6 title 非字母隔开的每个部分的首字母大写 **
print(s1.title())
4.7 find 通过元素找索引,找到第一个就返回,没有此元素则返回-1 *****
4.8 index 通过元素找索引,找到第一个就返回,没有此元素则报错 *****
print(name.find('B'))
print(name.find('ld'))
print(name.find('o'))
print(name.find('d',1,-1))
print(name.index('q'))
name = ' oldboy
'
print(name)
4.9 strip 默认去除字符串前后的空格,换行符,制表符 *****
name1 = '*alex**' name2 = 'weralexwqwe' print(name.strip()) print(name1.strip('*')) print(name2.strip('erw')) # 可以指定字符 lstrip() rstrip() 课下练习 # 举例: username = input('请输入用户名:').strip() # 'alex ' if username == 'alex': print('登陆成功...')
4.10 split # 将字符串分割成列表(str---> list)
s1 = 'alex wusir taibai' l1 = s1.split() # 默认按照空格分隔 print(l1) s2 = 'alex,wusir,taibai' print(s2.split(',')) s3 = ',alex,wusir,taibai' print(s3.split(',')) s4 = ' alex wusir taibai' print(s4.split(' ')) s5 = 'alexlwle' print(s5.split('l',1)) # 可设置分割次数 # 课下自己练习: print(s5.rsplit())
4.11 join 自定制连接符,将可迭代对象中的元素连接起来 *****
1 s2 = '*'.join(str1) 2 s2 = '_'.join(str1) 3 print(s2)
4.12 replace *****替换字符串
str2 = 'alex 是创始人,alex很nb,alex ....' s3 = str2.replace('alex','SB') s3 = str2.replace('alex','SB',1) # 替换次数可设置 print(s3)
4.13 格式化输出:format
1 s1 = '我叫{},今年{},性别{}' 2 # 三种方式 3 # 第一种 4 s2 = '我叫{},今年{},性别{}'.format('太白','28','男') 5 print(s2) 6 # 第二种 7 s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '男') 8 print(s3) 9 10 # 第三种 11 s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='男') 12 print(s4)
4.14 is 系列
1 name = 'taibai' 2 name1 = 'a123' 3 print(name.isalnum()) # 数字或字母组成 4 print(name1.isdigit()) # 判断全部是由整数组成 5 print(name.isalpha()) # 全部由字母组成
4.15 公共方法
name = 'alexaaa' print(name.count('a')) # 有切片 print(len(name))
5.for循环
1.for循环两种结构:
1.for i in 迭代对象:
循环体
1 for i in range(100): 2 print(i)
2.for i in 迭代对象: #遇到break不执行else
循环体
else:
1 for i in range(10): 2 if i==4: 3 break 4 else: 5 print('4后面的数字不打印')