python --day003

一.基本的数据类型;

 ①.int ==> 整数.

 ②.str ==> 字符串,可以保存少量的数据.

 ③.bool ==> 布尔值,判断真假,用True,False表示.

 ④.list ==> 列表,可以存储大量数据,用[]表示.

 ⑤.tuple ==> 元组,只读列表,不发生改变,用()表示.

 ⑥dict ==> 字典,保存键值对,可以存储大量数据.

 ⑦.set ==> 集合,保存大量数据,不可以重复

二.整数 int()

  bit_length().返回一个二进制数的长度(就是将数字变成二进制数,然后计算数的长度.)

三.布尔值 bool()

 取值只有True,False.

 转换问题:想把xx转换成yy ==> yy(xx)

      str => int    int(str)  

      int => str    str(int)  

      int => bool    bool(int) 0是False,非0是True

      bool => int    int(bool) True是1,False是0

      str => bool    bool(str) 空字符串是False,不空是True

      bool => str    str(bool) 把bool的只转换成相应的"值"

 注意:可以表示False的有:0,"",[],tuple(),{},None.所有的空为False,非空为True.

四.字符串 str()类型;

    把字符连城串,由',",''',"""括起来的内容称为字符串.

 字符串是不可改变的数据类型,无论怎么操作,源字符串都不会发生改变,每次操作都会返回新的字符串.

1.索引与切片;

 ㈠索引:从0开始,使用[下标]可以获取到每一个字符,还可以倒着数.

  例;

list = "像我这样好看的人少之又少"
print(list[0])
print(list[1])
print(list[11])
print(list[-1])       #-1表示从后向前数
print(list[-5])
  

结果:
像
我
少
少
人

Process finished with exit code 0

     注意;索引不能超过边界,否则报错

㈡切片;可以使用[下标]来截取部分字符串的内容

   语法;str[start:end]

   规则;从左往右,顾头不顾尾-从start开始截取,截取到end,但又不包括end.

 例1;

list = "婚姻是一座围城城外的人想进去城里的人想出来"
# print(list[1:5])      #从1切到5,但是不包括5
# print(list[1:])        #从1开始切,切到尾
# print(list[:9])        #从头开始切,切到9
# print(list[:])          #从头到尾,原样输出
# # print(list[-1:-3])     #从-1到-3没有结果,从左往右


结果;
姻是一座
姻是一座围城城外的人想进去城里的人想出来
婚姻是一座围城城外
婚姻是一座围城城外的人想进去城里的人想出来

  例2;

list1 = "一二三四五六七八九拾"
print(list1[-5:-1])     #从倒数第五个取到倒数第一个
print(list1[-2:])        #从倒数第二个取到最后
print(list1[:-6])        #取到倒数第6个
   


答案:
六七八九
九拾
一二三四
list1 = "一二三四五六七八九拾"
print(list1[-1:-5])           #-1:-5什么都没有,因为从左往右获取
print(list1[-1:-5:-1])       #步长是-1,这个时候从右往左获取
print(list1[-3::-3])          #从倒数第三个开始,到最开始,每三个取一个



结果:

拾九八七
八五二

    注意;步长:如果是整数或者没写,则从左往右获取:如果是负数,则从右往左获取,默认是1

     切片语法:str[start:end:step]

         start:起始位置,

         end:结束位置

         step:步长

2.字符串的相关操作

 ①大小写的转化

     ***upper(小写变成大写),lower(大写边小写)  

       注意;casefold():也是大写变成小写,但是和lower的区别是,lower对某些字符不支持,比如东欧,德语等.casefold对多余字母有效.

 例:

s = "woshizhenhaokan"
s1 = s.upper()
print(s1)
s3 = "WOSHIZHENHAOKAN"
s2 = s3.lower()
print(s2)



结果:
WOSHIZHENHAOKAN
woshizhenhaokan

    ②.***strip():默认去掉左右两端空格,空白\t,\n

 例1:

 

s = "    alex    is    a   gay   "
s1 = s.strip() # 默认去掉空格. 空白\t \n
print(s1)

结果:
alex    is    a   gay

 例2:去掉指定的内容

list = "boy I am a boy and tom a boy"
list1 = list.strip("boy")
print(list1)




结果;
 I am a boy and tom a 

 ③.***replace(old,new):把xxx替换成xxxxx.

 例1:

s = "泰坦尼克号, 西虹市首富, 小猪佩奇, 冒险王"
s1 = s.replace("冒险王", "西西里的美丽传说")
s2 = s.replace("佩奇", "wusir")
print(s1)
print(s2)



答案:
泰坦尼克号, 西虹市首富, 小猪佩奇, 西西里的美丽传说
泰坦尼克号, 西虹市首富, 小猪wusir, 冒险王

 例2 :

s = "alex_wusir_taibai_ritian"
s1 = s.replace("_","")
print(s1)
s8 = "sylar_alex_taibai_wusir_eggon"
s9 = s8.replace("i", "sb", 2) # 换两次
print(s9)







答案:
alexwusirtaibairitian
sylar_alex_tasbbasb_wusir_eggon

 ④.split():切割,返回列表,(用多长的刀,就要损失掉多少)

 例1:

s = """我家大门常打开
开放怀抱等你
后面是什么歌词
我忘了"""
lst = s.split("\n")
print(lst)






答案:
['我家大门常打开', '开放怀抱等你', '后面是什么歌词', '我忘了']

 例2:

s = "我今天下午要去吃饭饭"
lst = s.split("下午") 
print(lst)                     #刀多大,切多少
s = "我今天下午要去吃饭饭"
lst = s.split("我今天下午要去吃饭饭哈哈哈哈") # 没切
print(lst)                #因为要切的字符数多余原字符数量.




答案:
['我今天', '要去吃饭饭']
['我今天下午要去吃饭饭']

 ⑤.startswith():判断是否以xxx开头.

 例:

s = "alex is a gay"
print(s.startswith("tory")) # 以xxx开头
print(s.endswith("girl")) # 以xxx结尾


答案:
False
False

 endswith():以xxx结尾

 ⑥.find(),count(),index()

  find();查找xxx在字符串中出现的位置,只找第一次.

  count():计算xx在字符串中出现的次数.

  index():求索引位置,如果找不到索引,程序报错.

 例:

print(s.count("dream")) 
print(s.find("a")
print(s.index("z"))






答案:
1
3
报错

 ⑦len():查看字符串长度,python的内置函数,len()和print()是一样的

 例:

list = "我长得真是好看,太tm帅了"
list1 = len(list)       *********
print(list1)





答案:
13

 ⑧isdigit():是否由数字组成.

  isalpha():是否由字母组成.

  isalnum():是否由数字和字母组成

  isnumeric():可以进行中文识别

 例:

s = "abcdefg1@"
print(s.isdigit()) # %d
print(s.isalpha()) # 字母
print(s.isalnum()) # 是否由数字和字母组成




答案:
False
False
False

 3.格式化输出

 

     4.迭代:

        我们可以使用for循环来便利(获取)字符串中的每一个字符语法:

              for  变量  in  可迭代对象:

                  pass

         可迭代对象:可以一个一个往外取值的对象.

   例"

猜你喜欢

转载自www.cnblogs.com/zmc940317/p/9392310.html
今日推荐