python学习之路---day03

时间:2022-04-20 08:44:03
一:数据类型转换 1:bool-->int  将bool转成 int型    True 是1  False是0    a=True    c=int(a)    print(c)

    b=False    d=int(b)    print(d)

 2:int——〉bool  将int转换成bool型    0: False   非零:True    a=0 #-1 1 0    b=bool(a)    print(b)    将int 转换成 bool 型时,只要int是非零的数据,结果都是True,    如果int是0,则结果是  False    空的东西是False ,非空的东西是True ,如下例子:    a="你好"    b=bool(a)    print(type(b))  #结果:True,类型:bool    print(type(a))  #结果:<class 'str'>    print(bool("你好"))  #结果: True    print(type(bool("你好")))  #类型:bool    print(bool(""))  #里面啥都没有,打印值为False    print(bool(" ")) #里面有个 空格 ,也占用空间,打印的bool值为 True

 3:while True  实际是 while 1 (实际上电脑里面是01010的在处理,所以        用数字代表True会更好)  如下例子:        while 1:            print("死循环!")

二:字符串的 索引-切片:  1:索引:    s[n] n是指 索引为n的那个目标字符,n为目标字符的索引。    s="敲代码是一件很高兴的事情"    print(s[3])  #  打印: 是    print(s[5])  #打印: 件    当索引为负数时,会 从右往左  执行,查找需要的目标字符。:    n大于实际 索引的总数时,会报错:IndexError: string index out of range    #  当s[n]  中的索引 n 是正数是,从 0开始左往右数,,    当n为负数时,从 1 开始  ,从右往左 数  :    print(s[-4]) #打印:兴

 2:切片:    a="哎呦今天没钱吃饭了,咋办呦"    print(a[99])  #IndexError: string index out of range

    a="哎呦今天没钱吃饭了,咋办呦"    切片:从头到尾的切片,但是顾头不顾尾最后一个没有被切片!    s[start:end]  start:开始的索引  end 结束的索引    print(a[2:9])  #从2到9 ,不包含9   #打印:今天没钱吃饭了   --〉顾头不顾尾    print(a[2:])  #从索引2 开始,到结尾结束。  打印:今天没钱吃饭了,咋办呦    print(a[:])  #从头切到尾,全部都切掉,打印:哎呦今天没钱吃饭了,咋办呦    print(a[5:3])  #无打印结果,因为默认的打印顺序是从左往右。 3:  切片步数  step的  正负  不同含义:            s[start:end:step]    如果step是 正数,则从左往右开始切片,不包含最后的字符。    如果step是 负数,则从右往左开始切片,不包含最后的字符    s="哎呦今天没钱吃饭了,咋办呦"    #print(s[1:7]) #顾头不顾尾打印:呦今天没钱吃    print(s[3:5:-1]) #右边从1开始数数切片:打印:呦办咋,
s = "金毛狮王谢逊紫衫龙王黛绮丝"

#   print(s[3:1:-1])#   切片方法:-1代表顺序是从右往左切片,3:1  代表是从左边开始数索引,从  ”金毛狮王“  这个区间开始,            再取  索引是3(王)到索引是1(毛)之间的字符,(此时切片顺序是从右往左,也是顾前(王)不顾后(毛))##   总结:s[start:end:step],如果step是正数,则从左往右开始切片,也是顾头不顾尾#           如果step是负数,则从右往左开始切片,(此时 头是 索引为end的字符,尾是索引为start的字符, )顾头不顾尾,            取end到start之间的数值(此时取值方向是从右往左)#           # step:  步长。 每隔xx个取1个。 默认是1 如果step是-1 从右往左取值#
  如果是a[-1:-3]   则取不到值,因为是step 默认是1(类似:a[-1:-3:1])
三:字符串操作: 1:(a.capitalize())首字母大写:    a="abcd"    b=a.capitalize()    print(b)   #打印结果:"Abcd"

 2:a.lower()--将字符串中的大写字母全部都转换成  小写字母(大写字母--〉 小写字母)    a="ABCE"    b=a.lower()    print(b)  #打印:abcd 3:a.upper()--将字符串中的字幕全部转换成大写  (小写字母--〉大写字母)    a="abcd"    b=a.upper()  #xxx.方法()    print(b)   #打印:ABCD,将字符串中的小写字母全部转换成大写

 4:a.swapcase()--将字符串中的大写转换成小写,小写转换成大写!    a="abKocGl"    b=a.swapcase()    print(b)  #打印:ABkOCgL

 5: a.title()--将每个不连续的单词的 首字母转换成大写字母    a="kb 哈cd哈o哈iu"    b=a.title()    print(b)  #打印:Kb 哈Cd哈O哈Iu

 6: a.center(11,"&")--使字符串返回一个以num长度为准的新的字符串,并且如果是奇数个,    则左边的空格或则自定义的字符比右边多    a="5907"    #b=a.center(num,"&")    b=a.center(11,"&")    print(b)   #打印:&&&&5907&&& 7: a.strip() 去掉字符串两边的空格    这个在用户登陆用户名和密码时会用到    a="  ab  df   "    b=a.strip()    print(b)   #打印: ab  df  (注意,.strip不能去掉字符串中间的空格)

   例子:    username=input("用户名:").strip()    pwd=input("密码:").strip()    if username=="a" and pwd=="123":        print("登陆成功!")    else:        print("登陆失败!")

 8:   a.strip() 去掉左右两边指定的内容:    a="ab----yuyh---ab"    b=a.strip("ab")  #=去掉左右两边的  指定值:ab    print(b)  #打印:----yuyh--- 9: a.replace(a,b)  将字符串中的a  替换成 b。 例子:    a="一点钱都没有了,怎么办?"    b=a.replace("一点钱都没有了","突然暴富了")    print(b) 10:  a.split()  从制定位置开始切割。从哪里切割,哪里就会消失    001:切割后,剩余下来的内容,打印出来的结果是一个列表        a="我的天涯,哎呦不错,突然暴富"        b=a.split("哎呦")        print(b)    #打印:['我的天涯,', '不错,突然暴富']

    002:如果是以换行符切割的话,最后的一个字符后面的换行也要切割        s = """诗人        学者        渣渣        """        print(s.split("\n"))        #打印:['诗人', '学者', '渣渣', '']

    004:如果是贴边切割(即  用全部的内容切割,则内容没有了),         一定会有空字符串        a = "我的天涯,哎呦不错,突然暴富"        print(a.split("我的天涯,哎呦不错,突然暴富"))        打印结果:['', '']

四:其他基本方法:    01:a.startswith()判断是否是=以xxx开头,是 则True。不是则False      a.startswith() 判断是是不是以xx 开头.如果是,则结果为True      如果不是则结果为False ; 例子:        a="苍茫的天涯是我的爱呀"        print(a.startswith("苍茫"))  #打印结果:True        print(a.startswith("我的"))  #打印结果:False

    02:a.endswith()判断字符串是否是以xxx结尾,是则True,不是则False        a="苍茫的天涯是我的爱呀"        print(a.endswith("我的爱"))  #打印:True         print(a.endswith("我的爱呀")) #打印:False   03: a.count("s") 判断a字符串里面有多少个 s,然后返回相应的数目        a="wode 爱呀 爱啊 暴富哈哈哈哈eeee"        print(a.count("e"))  #打印:5        print(a.count("爱呀爱"))   #打印:0   (空格也算是字符)        print(a.count(" "))   #打印:3   (空格也算是字符)        print(a.count(""))   #d打印:22  为什么有22个   04:find() 查找,如果找到了就返回元素的索引,并且当他找到第一个元素后就直接返回找到的元素的索引,不会再往后找了。                    即使后面还有相同的元素。                    没有找到就返回-1        a="wode 爱呀 爱啊 暴富哈哈哈哈eeee"        print(a.find("爱"))  #打印:5   只找到第一个字符后就停止了。其他的后面的字符就不找了        print(a.find("e"))  #打印:3     只找到第一个字符后就停止了。其他的后面的字符就不找了        print(a.find("88"))  #打印:-1    返回值为-1  =说明没有找到内容  05: a.index()  通过元素去找其对应的索引。并且只返回字符串的第一个元素的索引        a="abcdefg"        print(a.index("cd"))  #打印:2  只返回找的字符串的第一个元素的索引

 06:len()  求字符串的长度(即:求字符串有多少个字符)        a="老面馒头"        print(len(a))  #打印:4

五:for 循环    for c  in  s(s代表字符串)            #01:  for  变量(c)  in  可迭代对象(l)            #例子:        a="abadkfd"        for c  in a:            print(c)        打印:        a        b        a        d        k        f        d
for i in 10:    print(i)    #错误提示:TypeError: 'int' object is not iterable   因为常数是不能迭代的!