python学习

社会主义新天地 提交于 2020-03-01 08:49:37

什么是数据类型?

int    1、2、3  数字,用于计算

bool   True,False,用户判断

str    ‘aaaaa’  ‘bbbbb’ ‘ccccc’   字符串,存储少量数据,进行操作

list    [1,2,3,‘密码’]    列表,用于存储大量的数据

元祖   (1,2,3)可存储大量数据,但是属性为只读,无法修改

dict    字典,用法{‘name’:‘age’:16} 可储存大量的关系型字符

集合    {1,2,3,‘abc’}

 

 

int

i = 2print(i.bit_length())
 1     def bit_length(self): # real signature unknown; restored from __doc__
 2         """
 3         int.bit_length() -> int
 4         
 5         Number of bits necessary to represent self in binary.
 6         >>> bin(37)
 7         '0b100101'
 8         >>> (37).bit_length()
 9         6
10         """
11         return 0

 

 

数值转换

int转str 

i = 1
s = str(i)

 

str转int

s = '123'
i = int(s)

int转bool  ()

i = 3
b = bool(i)
print(b)

bool转int

True   1
False  0

while True:

   pass

while 1:

  pass  

两组代码一样,但是下面的更加高效,用于写死循环

 

str转bool

s = ‘ ’  》False   #非空字符串都是True
s = ‘0’  》True

常用方法

if s:
    print('你输入的为空,请重新输入')
else:
    pass

 

str

 

字符串的索引与切片。

 

索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。使用方法如下

i = 'asdfghjkl'
i1 = i[2]
print(i1)
i = 'asdfghjkl'
print(i[4])
i = 'asdfghjk'
i1 = i[-1]
print(i1)

取多个(顾头不顾尾)

i = 'asdfghjkl'
i1 = i[0:4]
print(i1)

取全部

i = 'asdfghjk'
i1 = i[0:]
print(i1)

i = 'asdfghjk'
i1 = i[:]
print(i1)

取多个不连续数值--正向(i[首:尾:步长])只能用于取等距长的数值

i = 'asdfghjk'
i1 = i[0:5:2]
print(i1) 

取多个不连续数值--反向(i[尾:首:步长])只能用于取等距长的数值【顾尾不顾头】

i = 'asdfghjk'
i1 = i[4:0:-1]
print(i1)
i = 'asdfghjk'
i1 = i[4::-1]
print(i1)
i = 'asdfghjk'
i1 = i[4::-2]
print(i1)
i = 'asdfghjk'
i1 = i[::-1]
print(i1)

 

字符串的操作

首字母大写

i = 'asdfghjk'
i1 = i.capitalize()
print(i1)

全大写

i = 'asdfghjk'
i1 = i.upper()
print(i1)

全小写

i = 'asdfghjk'
i1 = i.lower()
print(i1)

主要取决于.后面的参数

 

实例:

验证码

s_str = 'acEQ'
you_input = input('请输入验证码,不区分大小写')
if s_str.upper() == you_input.upper():
    print('正确')
else:
    print('请重新输入')

#全大写
s_str = 'acEQ'
you_input = input('请输入验证码,不区分大小写')
if s_str.lower() == you_input.lower():
    print('正确')
else:
    print('请重新输入')

#全小写

 

其他

#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()) #字符串只由数字组成

 

公共方法

i = '123268423135748654132adsasdawasd'
l = len(i)
print(l)


#用于计算字符数量
i = '123268423135748654132adsasdawasd'
l = i.startswith('000')
print(l)  
#检测字符串开头信息,真假两个状态
i = '123268423135748654132adsasdawasd'
l = i.startswith('s',-2)
print(l)
#检测字符串某一位置信息,真假两个状态

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!