day4笔记

今日讲解内容:
1,int数字:运算。1 ,2,3...

  # 数字类型:int

  #范围。用于运算, + - * / // %....

  bit_lenth :十进制数字用二进制表示的最小位数

a=10
print(a.bit_length())
# 4  

2,bool。判断真假:True, False.

  2.1 bool转字符串

b1 = True
b2 = False
st = str(b2)
print(st,type(st))
# False <class 'str'>

   2.2 字符串转布尔

  除了空字符串以外的的所有字符串转化为bool都是True

# bool--->str值
a = str(True)  # 'True'
a1 = str(2 > 1)  # 'True'
print(a1,type(a1))
#True <class 'str'>
# 字符串可以做if 条件
#name = input('请输入字符串')
# if name:
#     print('输入正确')

3,str。简单少量的储存数据,并进行相应的操作。

  3.1 字符串的索引与切片。

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

  注:超出范围不报错

s1 = 'python全栈8期'
print(s1[0]); print(s1[1]) ; print(s1[2]) ;print(s1[3]) ;print(s1[4]) ;print(s1[5]) ;
# python
print(s1[0:100]) #
python全栈8期

  3.2切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(索引:索引的形式是左闭右开区间)。

#切片 顾头不顾腚
print(s1[0:6])  # python
#倒取值:加步长
print(s1[3::-1])  # htyp
print(s1[5:0:-2])  # nhy
print(s1) #不变
s2 = s1[-5:-1:1]#n全栈8
s2 = s1[-5:-1:-1]#''
print(s2)

    3.3 字符串常用方法。

  (1)变大写

a = 'alex'
print(a,a.upper())  # alex ALEX

   (2)变小写

a = 'Alex'
print(a,a.lower())  # Alex alex

  (3)除了首字母其他字母全变小写

a = 'alEX'
print(a,a.capitalize())  # alEX Alex

(4)中间有字符间隔的首字母大写其他字母小写

a = 'alEX dave +luly,lulcy'
print(a,a.title())  # alEX dave +luly,lulcy Alex Dave +Luly,Lulcy

(5)以变量为中心步长变为某个值,然后以空格或者字符填充

a = 'alex'
print(a,a.center(6),len(a.center(6)))  # 没有长度会报错,长度可以等于本身 长度为奇数,空格在左边  alex  alex  6
print(a,a.center(5,'*'),len(a.center(5))) #填充物必须加引号 alex *alex 5

(6)以8为基数,把长度不足8的字符串变成8 把不足16的字符串变成16 达到某种对齐

a = 'alex	'  #遇到字符串中含有	可使用否则无效 默认长度是8 可以赋值其他
b = 'aaaaaaaalex	'
print(a.expandtabs(),len(a.expandtabs()))   # alex     8
print(b.expandtabs(),len(b.expandtabs()))  # aaaaaaaalex      16
print(a.expandtabs(10),len(a.expandtabs(10)))  # alex       10
print(b.expandtabs(10),len(b.expandtabs(10)))  # aaaaaaaalex          20

(7)判断以什么开头 或者一段切片以什么开头

a = 'alex'
val =  a.startswith('a')
print(val)  # True
val2 = a.startswith('aL')
print(val2) # False
val3 =  a.startswith('al')
print(val3)  # True
val4 =  a.startswith('l',1,-1)  # 切片中可以是负数,但不能倒叙
print(val4)  #  True 

(8)判断以什么结尾或者一段切片以什么结尾

a = 'alex'
val =  a.endswith('x')
print(val)  # True
val2 = a.endswith('eX')
print(val2) # False
val3 =  a.endswith('ex')
print(val3)  # True
val4 =  a.endswith('e',1,-1)  # 切片中可以是负数,但不能倒叙
print(val4)  #  True

(9)翻转大小写 

a = 'alEx'
print(a.swapcase())  # ALeX

(10)去除空格,去除左右空格  去除首尾的某些字母  

a = '  al ex '
print(a.strip())  # al ex
print(a.lstrip())  # al ex  右边有没去掉
print(a.rstrip())  #   al ex
print(a.strip('abcde'))  # 首尾字母在中间字符串中的都被删掉,遇到不在字符串的直接终止
print(a.strip(' ax'))    # 不能加数字

(11)计算某个元素出现的个数,或者一个切片中某元素出现的次数

a = 'alexalea'
print(a.count(a)) # 元素必须是字符串
print(a.count('a'))  # 3
print(a.count('a',0,5,))  # 2

(12)元素分割

a = 'alexalea'
print(a.split('a'))  # ['', 'lex', 'le', '']
print(a.split('a',2))  # ['', 'lex', 'lea']
print(a.split('a',0))  # ['alexalea'] 最大切割次数可以是0 ,也可是负数也可以比该元素本身大  -1表示全部切割
print(a.split('a',-1))  # ['', 'lex', 'le', '']
print(a.split('al'))   # ['', 'ex', 'ea'] #不支持切片 不支持倒序
rsplie 是从右侧开始切割

(13)字符串格式化

a = 'name:{} age:{} high:{}'.format('alex',18,'175cm')
print(a)  # name:alex age:18 high:175cm
a = 'name:{0} age:{1} high:{2} name{2}'.format('alex',18,'175cm')
print(a)  # name:alex age:18 high:175cm name175cm
a = 'name:{name} age:{age} high:{high} name2:{name}'.format(name='alex',age=18,high='175cm')
print(a)   # name:alex age:18 high:175cm name2:alex

(14)判断字符串的组成类型

a = 'abcd123'
print(a.isalnum()) # 判断字符串是否由字母或数字组成  T
print(a.isalpha())  # 判断是否全部由字母组成       F
print(a.isdigit()) # 判断是否全部由数字组成        F
print(a.isdecimal())#判断是否能转化为数字           F

(15)输出某个元素的第一个索引

# * find 通过元素找到索引(找到第一个元素),找不到返回-1
a1 = a.find('a')
a2= a.find('W',0,5)
a3= a.find('a',2,5)  # 输出的是元素原来所在字符串的索引
print(a1) #  0
print(a2)   # -1
print(a3)  #  3

# #index 和find用法一模一样,找不到元素,就会报错
a5= a.index('a',2,5)
print(a5)  #  3   # 输出的是元素原来所在字符串的索引
#a4 = a.index('w')
# print(a4  # 报错

(16)将字符串中的某个元素替换

a = 'abcdeabcdef'
c = a.replace('a','b',1)  # 次数为零不替换
b = a.replace('e','x',1)  # 从右向左,默认是从左向右的
print(b,c)

(17)for 循环在字符串中的循环

 index = 0
 while True:
     print(s[index])
     index += 1
     if index == len(s):break
#for 变量 in 可迭代对象
 for i in s:
     print(i)

4,tupe。(1,'alex')

5,list:大量数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
6,dict:字典{'name':'jinxin','age':18,'name_list':['张三','李四']}

 

7,set。

原文地址:https://www.cnblogs.com/zjchao/p/7718370.html