python学习day3

 一:数据类型

  1. int型:用于计算
  2. bool型:用于判断
  3. str型:存储少量数据进行操作
  4. list:列表,用于存出大量数据   list = [1,2,'张三','李四','a']
  5. 元组:存储大量只读数据,不能写入   (1,2,3,'张三','李四','a')
  6. dict:字典,映射数据类型,由键(key)值(value)对组成
  7.  {'name':'张三','age':'18','hight','173'}    键值对

     {'张三':['18','173'],'李四':['19','175']}

  8. 集合:常用于求交集并集等操作{1,2,3,4,'张三','李四','a'}  

二、int型

1、基础运算:+ 、- 、* 、/ 、%、 **、 // ..........

2、求int型的数字转化为二进制的最小位数

i = 100
print(i.bit_length())       #7位 
'''
int        bit          bit_length
1     0000 0001         1
2     0000 0010         2
3     0000 0011         2
'''

三、bool型

1、int和bool之间的相互转换

  int--->bool : 只要是0,转化结果都是False;非0,转化结果都是True

  bool--->int :True转化结果为1;False转化结果为0

  ps:while 1 比 while True 效率更高(因为True还需要转化为1)

2、str和bool之间的转换

  int--->bool :空字符串''(非空格)都是False;非空字符串'0'都是True

 

三、str索引和切片

list='123456789'  # list[首:尾:步长]
list1=list[0:3]  #仅输出前三位,0为第一位,第四位为3不输出
list2=list[0:]    #为空则输出所有
list3=list[-1]   #输出最后一位
list4=list[0::2]   #每两位输出一个,结果为:134579   [首:尾:步长]
list5=lisy[-1:0:-1]   #最后一个-1表示倒序输出

四、str的操作

  1. 大小写转换
    s = 'abcdefGH'
    s1 = s.capitalize()  # 首字母大写
    s2 = s.upper()       #全大写
    s3 = s.lower()       #全小写
    s4 = s.swapcase()    #大小写翻转(大写变小写,小写变大写)
    
    #实际运用举例:输入验证码不区分大小写
    s_str= 'acEQ1'
    you_input =input('请输入验证码,不区分大小写')
    if s_str.upper() == you_input.upper():
        print('输入成功')
    else:
        print('输入错误') 
  2. 每个隔开(特殊字符或者数字)的单词首字母大写
    s = 'alex*egon-wu sir2qjh'
    s5 = s.title()     # 输出结果为 Alex*Egon-Wu Sir2Qjh
  3. 输出格式统一:居中,设定宽度,按需求填充空白
    s = 'abcdefg'
    s6 = s.center(20,'~')    #将s居中,总长度为20,空白处用~填充,不写~则为空白填充
  4. 补位:当遇到\t ,将之前的内容补至8位,或8的整数倍
    s = 'alex\tsir'
    s7 = s.expandtabs()     #输出结果为alex    sir
  5. len() 表示长度,字符串(长度),字典(元素),元组(元素)都会用到
    s = 'adasdasfasfasfasfasas12312rfw'
    l = len(s)   #表示字符串字符个数,不区分中文还是汉字 
  6. 判断字符串某一段的开头/结尾是否为指定字符串,输出结果为bool
    s = 'abcdefgh123456xy'
    print(s.startswith('ab'))      #判断字符串s是以ab开头的字符串,默认对比整个字符串。输出结果True
    print(s.startswith('c'2,5))    #判断字符串s[2,5]是以c开头的字符串。输出结果True
    print(s.endswith('xy'))        #判断字符串某一段的结尾是否为字符串
  7. find 通过元素找索引
    s = 'sdasadfasfs'
    print(s.find('d'))         #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到返回-1
    print(s.find('d',2,4))   #在字符串(切片结果s[2,4])中寻找元素d,当前找不到,所以返回-1
    print(s.index('d'))      #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到报错
  8. strip()默认删除前后空格或指定元素
    s = ' %asasfsdgsdd*'
    print(s.strip())      #默认删除字符串前后空格
    print(s.strip(' %*'))      #删除字符串前后空格,%,*,不区分顺序,遇到不可删除时停止
    print(s.rstrip('*'))         #只处理结尾
    print(s.lstrip())            #只处理结尾开头
    
    #例子:去除输入内容前后的空格
    username = input('请输入姓名:').strip       #输入的内容前后去除空格
    if username == '张三'
        print('输入正确')
  9. count():统计字符串中某个元素个数
    s = 'abcdefgabcdefg'
    print(s.count('a'))      #字符串中a的个数
    print(s.count('ga'))     #ga看作一个整体
    print(s.count('a',0,4))  #字符串s[0:4]中有多少个字符串a
    print(s.count(s[1:2]))   #字符串s中有多少个s[1:2] 即为 多少个b
  10. split():将字符串以指定元素进行分割转化为列表 str-----list
    s = ';alex;wusir;taibai'
    print(s.split(';'))        #将字符串s按照';'分割为列表
    

     

  11. format 格式化输出的三种用法
    #format的三种用法 格式化输出
    s = '我叫{},今年{},喜欢{},再说一遍我叫{}'
    print(s.format('张三',27,'学习','张三'))
    s = '我叫{0},今年{1},喜欢{2},再说一遍我叫{0}'
    print(s.format('张三',27,'学习'))
    s = '我叫{name},今年{age},喜欢{hobby},再说一遍我叫{name}'
    print(s.format(name='张三',age=27,hobby='学习'))
    

     

  12. replace :字符串的部分替换,可控制替换的次数,默认替换全部
    s = '我喜欢学习,大家都喜欢学习'
    print(s.replace('学习','美女'))      #将字符串中的学习替换为美女,未写次数默认所有替换
    print(s.replace('学习','美女',1))    #将字符串中的学习替换为美女,仅替换一次
  13. s = 'sfsdfnslk354'
    print(s.isalnum())   #字符串由字母或数字组成
    print(s.isalpha())   #字符串由字母组成
    print(s.isdigit())   #字符串由数字组成 
posted @ 2020-12-02 21:32  暴躁的产品  阅读(79)  评论(0)    收藏  举报