int 整型,布尔值,字符串详解(18个),for 循环,下标(索引),切片,步长 day3

一、整型

1.数字大小与位的关系

.bit_length #查询数字的位数的方法​

n = 56        #6位
print(n.bit_length())

0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 #查看数字所对应的,当前56小鱼64大于32,后面加16,加8
128 64 32 16 8 4 2 1

布尔值(bool)与数字之间的转换

n =bool (数字)

#​数字和布尔值可以相互转换​,在转换的时候,只有零是False,其余都是True

在布尔值转换成数字时True是1False是0​​

#数字和布尔值可以相互转换​

int(True)

输出1     

#字符串与布尔值转换时只要不为空就是True

2.字符串详解(18个)

字符串:字符串或串(String)是由数字、字母、下划线组成的一串字符.

eg: s  = "akdsl_asa12121_d"

 

方法:

.title #标题 使首字母大写​​ 只要有特殊字符隔开,才能分别认为是多个单词.(中文也是特殊字符),

name = "alex天涯wusir"    #每个单词首字母大写,中间用特殊字符隔开(中文也算特殊字符)
s = name.title()
print(s)    #Alex天涯Wusir

.capitalize 首字母大写 ,不管字符串中有几个单词, 只有第一个字母大写

.upper() 使单词中字母全部大写

 .lower​ () 使单词中字母全部小写

i = "Alex"            #验证码不区分大小写应用场景
yzm = input("请输入验证码:")
if yan.lower() == yzm.lower():
    print("验证成功")
else:
    print("验证失败")

.count() 计数​  #查字符串中指定的有几个

 .find() 查找位置​,查找不存在的就返回-1

 .index() 索引 查找不存在的就报错

 .center​()        居中         第一个放数字,第二个放要填充的内容

name = "天涯"
s = name.center(10,"-")      #10是整个字符串长度,后边是添加的内容
print(s)        #----天涯----    

.split() #分割​ 括号里没有输入的时候默认的是空格 通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出. #可以将字符串转换成列表

n = "alexacerbreak"
s = n.split("e")    #可以把字符串转换成列表
print(s)        #['al', 'xac', 'rbr', 'ak']

.strip() #脱 默认消去两头的空格和换行符​​.指定消去的内容时是掐头去尾​

应用场景:在用户登陆时,可以消除密码账号上的空格导致的错误.

user= input("请输入用户名:").strip()        #应用场景:登录账号时,用户名和密码多按空格
pwd = input("请输入密码:").strip()
if user == "alex" and pwd == "alex666":
    print("登陆成功")
else:
    print("登录失败"

.join() #指定字符拼接​

n = "alexacerbreak"
s = "_".join(n)    
print(s)        #a_l_e_x_a_c_e_r_b_r_e_a_k

s = name .replace('x','n')   #替换 第一个是指被替换的内容,第二个是指用什么替换​​

name. startswith()   #询问电脑以什么开头​,获取的结果是布尔值

name.endswith()    #询问以什么结尾 获取的结果是布尔值

.format()        #格式化 将括号内的内容填充进变量中的{} :

​                     #可以 按照占位的位置来填充

​                     #也可以按照索引来填充

                     #按照关键字对应填充​

name = '{2}老师真{1}{0}'
s = name.format('某某','他妈','漂亮')
print(s)        #漂亮老师真他妈某某      按照format括号内的索引添加
name = '{}老师真{}{}'
s1 = name.format('某某','他妈','漂亮')
print(s1)           #某某老师真他妈漂亮     #按照format括号内的顺序添加
name = '{a}老师真{b}{c}'
s2 = name1.format(a ='某某',b= '他妈',c='漂亮')
print(s2)      #某某老师真他妈漂亮

is系列方法:

.isalnum​() #判断是不是数字和字母

.isalpha​() #判断是不是纯字母

.isdigit()   #判断是不是纯数字

.isupper()   #判断是不是大写字母

.islower(    #判断是不是小写字母​

下标(索引): m e e t

                  0 1 2 3 ​

​                -4 -3 -2 -1

切片; [起始位置 : 终止位置 : 步长] 顾头不顾尾

从左往右切: [0:4:1]

从右往左切 [-1:-4:-1]​​ 后面的1和-1是指的方向,其中+指的是从左到右,-指的是从右往左.在其中的第二个冒号之后指的是步长.

#面试题:

将'我在上面这么动,你在下面没反应'的反过来输出

name = '我在上面这么动,你在下面没反应'

print(name[::-1])

 #起始终止位置不写即表示整体输出

#面试题:

怎么通过代码一行把字符串转换成列表​​,同时用一行代码把列表转换成字符串

​通过方法.split() .join()来进行转换

# 字符串抓换成列表
a = "alexcellshell" b = a.split() print(b) #['alexcellshell'] c = a.split("e") print(c) #['al', 'xc', 'llsh', 'll']
lis = ["1","2","3"]
a = ",".join(lis)
print(a,type(a))        #1,2,3 <class 'str'>

for循环(遍历循环)

for (关键字) + i (变量) + in (关键字) + 可迭代对象​​​ (除了数字都是可迭代对象)

​ for循环是有限循环,循环次数取决于迭代对象的元素数.

练习

# -*- coding: utf-8 -*-
#数字与布尔值转换
'''
n = bool(1)
print(n)
n0 = bool(0)
print(n0)
n00 = bool(-1)
print(n00)
n1= int(True)
print(n1)
n2 = int(False)
print(n2)
'''
#查看数字位数
'''
n = 600
print(n.bit_length())
'''
#方法使用
'''
name = 'alex uwu sir'
print(name.center(15,'*'))       #居中,使该字符放在中间,前面的数字使加上填充的字符一共有的字符数
print(name.split('u'))           #分割,通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出
s = '_'.join(name)               #插入,将_插入变量name中每一个字符中间
print(name.replase('a','i'))     #替换,前面的是被替换的内容,后面的是要替换的内容
print(name.startswith())         #询问,该变量以什么开头
print(name.endswith())           #询问该变量以什么结尾
print(name.count('w'))        #计数
print(name.title())           #所有的单词的首字母大写
print(name.capitalize())      #首字母大写
print(name.lower())           #字母小写
print(name.upper())           #所有的字母大写
print(name.find('m'))         #查找索引位置 不存在的就输出-1
print(name.index('l'))        #索引,不存在的就报错
'''
#格式化
'''
name = '{2}老师真{1}{0}'
s = name.format('某某','他妈','漂亮')
#print(s)
s1 = name.format('某某','他妈','漂亮')
print(s1)
name1 = '{a}老师真{b}{c}'
s2 = name1.format(a ='某某',b= '他妈',c='漂亮')
print(s2)
'''

#用户登录时消除空格
'''
name = 'alex'
print(name.strip())

user = input('请输入账号:').strip()
pwd = input('请输入密码:').strip()
if user == 'alex' and pwd == 'alex3714':
        print('输入正确')
else:
         print('输入错误')
'''
#验证码举例
'''
yzm = 'O98k'
y_zm = input('输入验证码O98k:')
if y_zm.upper() == yzm.upper():
    print('正确!')
else:
    print('错误')
'''
#怎么通过代码一行把字符串转换成列表​​,同时用一行代码把列表转换成字符串:
'''
name = 'alex wusirs'
print(name.split('s'))
lst = ['1','2','3']
s = '_'.join(name)
print(s)
'''

#判断是否是纯数字,输出数据类型
'''
num = input('请输入数字:')
if num.isdigit():
     num = int(num)
     print(type(num))
else:
     print('都告诉你是数字了')
'''
#下标索引
'''
name = 'alex'
print(name[3])
#切片
print(name[0:3]
'''
'''
name = '我在上面这么动,你在下面没反应'
print(name[0:8:-2])
'''
'''
s = 'Python最NB'
print(s[:3])
print(s[2])
print(s[6:])
print(s[2:8])
print(s[1:])
print(s[:6:2])
print(s[1:7:2])
print(s[:])
print(s[3::2])
print(s[-5::-3])
'''
#for循环
name = '黑哥很黑黑哥很长黑哥很sao'
for i in name:
    print(i)
# s = len(name)         #求取字符串的总长度
# print(s)
'''
count = 0
while count < len(name):       
    print(name[count])
    count += 1
'''

猜你喜欢

转载自www.cnblogs.com/shmilyxue/p/9862299.html
今日推荐