python:数据类型(int bool str)

 practice

 1.基本数据类型

 int   整数
 str   字符串.一般不存放大量的数据
 bool  布尔值.用来判断.True False
 list  列表.用来存放大量的数据,[]表示.里面可以放各种类型的数据
 tuple 元组.只读列表.()表示 只能看
 dict  字典.{key:value}
 set   集合.不重复

2.int 类型

#bit_length() 返回一个数的二进制长度 比如 a.bit_length()    
a=3
print(a.bit_length())  #输出2

3.bool类型
  只有两个值  True   False ,

  总结: 所有的空都是False,所有的非空都是True

     零为False,非零为True

     想把A类型转换成B类型数据,   即  B(A)       想把某数据转换成xxx数据类型.   xxx(数据) 

#*** 判断真假
    a=10
    print(type(a))  #<class 'int'>
    s=str(a)
    print(type(s))  #<class 'str'>

    s='哈哈'
    print(bool(s))

    s=""  #没有空格,空的,False
    print(bool(s))

    s=" " #有空格 为True
    print(bool(s))

    a=None  #表示空,真空   False
    print(bool(a))

    a=0
    print(bool(a))  #0为False

4.str类型

把字符连成串用' , " , ''' , """引起来的内容被称为字符串.
字符串是不可变的数据类型,不论怎么执行操作,
原字符串是不会变的,需要返回新的字符串.

  1)索引(s[3])和切片(s[2,10,3])      (获取字符中某些内容)  

    索引就是用下标,获取字符中的内容,下标从0开始.   有正序和倒序

1 s="伊丽莎白鼠"
2 print(s[0])
3 print(s[1])
4 print(s[2])
5 print(s[3])
6 print(s[4])
7 #print(s[5])   #索引不能超过边界
8 print(s[-1])  #倒数第一个  "鼠"
9 print(s[-2])  #倒数第二个  "白"
View Code

    切片就是用下标截取字符串的部分内容   s[strat,end]

                 s[A,B,C]    从A开始切到B(要A不要B),  当C为正时,从左往右切(0,1,2,3...)

                                  当C为负时,从右往左切(-1,-2,-3...)

      特点: 1.顾头不顾尾
            2.只能从左往右切(2个参数时)
            3.给出第三个参数来控制方向(+从左往右,-从右往左), 第三个参数叫步长(每几个数取一个)
 

 1 s="伊丽莎白鼠和符号及缴费地级市"
 2 print(s[1:3]) #从1切到3 但是取不到3  #"丽莎"
 3 print(s[1:])  #从1切到结尾
 4 print(s[:2])  #从头到2
 5 print(s[:])   #从头切到尾
 6 print(s[-1:-3])  # 切不出来 因为 只能从左往右切
 7 print(s[-3:-1])  #可以切  #"莎白"
 8 
 9 #给出第三个参数来控制方向(+从左往右,-从右往左),第三个参数叫步长(每几个数取一个)
10 print(s[-2:-3:-1])  #-1中负号表示反方向,从右往左切
11 print(s[3:8:2])  #从左往右切,每两个切一个,从0开始数   0,1,2,3
12 print(s[4:10:3]) #从左往右切,每三个切一个,从0开始数   0,1,2,3,4
13 print(s[-3:-10:-3]) #从右往左切,每三个切一个,从-1开始数   -1,-2,-3
View Code

  2)str的相关操作

    1. 大小写转换等      s.upper()  大写

1 s="alex is s gay and Wusir is A gay too"
2 s1=s.capitalize(s)  #仅第一个单词,首字母变成大写
3 s2=s.lower(s)  #小写
4 s3=s.upper(s)  #大写  记住
5 s4=s.swapcase(s)  #大小写互换
6 s5=s.title(s)  #标题 每个单词首字母大写  只要不是字母就给拆开 大写

    2. 居中        s.center()

1 s = "sb"
2 s1 = s.center(10, "*") # 强行使用*在原字符串左右两端进行拼接. 拼接成10个单位
3 print(s1)
4 #输出:****sb****

    3.去掉空格, \t, \n        s.strip()   只能去掉字符串两边的内容

               s.strip("x",1)   切1次  

1 s="   alex is a gay   "
2 s1=s.strip()#  默认去掉字符两端的 空格 \t \n
3 print(s1)#输出:alex is a gay
4 s2=s.lstrip() #去掉左边的空格
5 s3=s.rstrip() #去掉右边的空格
6 
7 s = "sb alex wusir sb sb taibai taibai sb"
8 print(s.strip("sb")) # 可以指定要去掉的内容,只能是两端的内容
9 #输出:" alex wusir sb sb taibai taibai "有空格的

    4.替换     s.replace("A","B")    将A的内容换成B

 1 s="泰坦尼克号,西虹市首富,小猪佩奇,冒险王"
 2 s1=s.replace("冒险王","西西里的")
 3 print(s1)
 4 
 5 s="hfhf_hfh_nf_uhu"
 6 s1=s.replace("_","")#想去掉谁换成空字符串
 7 print(s1)
 8 
 9 s="hfhf_hfh_nf_uhu"
10 s1=s.replace("_","",2)  #换2次 仅前两个换
11 print(s1)

    5.切割     s.split("xx")  切完的结果是个列表,列表中是字符串,用什么损失什么

 1 s="hfhf_hfh_nf_uhu_rtew_ijdua"
 2 lst=s.split("_")   #用什么切损失掉什么
 3 print(lst)  
 4 #输出:['hfhf', 'hfh', 'nf', 'uhu', 'rtew', 'ijdua']
 5 
 6 s = """我家大门常打开
 7 开放怀抱等你
 8 后面是什么歌词
 9 我忘了"""
10 lst = s.split("\n")
11 print(lst)
12 #输出:['我家大门常打开', '开放怀抱等你', '后面是什么歌词', '我忘了']
    6.格式化输出   s="   ".format()
 1 s="我叫{},今年{}了,喜欢{}".format("周杰伦","40","昆凌")#默认
 2 print(s)
 3 #我叫周杰伦,今年40了,喜欢昆凌
 4 
 5 s="我叫{1},今年{0}了,喜欢{2}".format("周杰伦","40","昆凌")#指定位置
 6 print(s)
 7 #我叫40,今年周杰伦了,喜欢昆凌
 8 
 9 s="我叫{name},今年{age}了,喜欢{hobby}".format(name="周杰伦",age="40",hobby="昆凌")
10 print(s)
11 #我叫周杰伦,今年40了,喜欢昆凌
View Code
   7.查找
      s.startswith("xxx") s.endswith("xxx")
1 s="alex is a gay"
2 print(s.startswith("alex"))   #是否以alex开头   结果:True
3 print(s.startswith("hobby"))  #是否以hobby开头  结果:False
4 print(s.endswith("gay"))      #是否以gay结尾    结果:True
      s.count("x")  计算X出现的次数,返回的是次数
      s.count("x",1,3)计算x在位置1-3处出现的次数
      s.find("x") 查找的是x位置,返回的是位置信息,从0开始 没有的话返回-1
      s.index("x") 索引的是X位置,返回的是位置信息,从0开始  没有的话报错
1 s="I have a dream"
2 #  012345
3 print(s.count("a")) #计算a出现的次数
4 print(s.find("h"))  #只查找第一次数出现的位置  0开始数空格也算  结果:2
5 print(s.find("z"))  #没有的话返回-1
6 print(s.index("z"))   #没有的话报错
   8.条件判断
     s.isdigit() s.isalpha() s.isalnum() s.isnumeric()
1 s = "abcdefg1@"
2 print(s.isdigit()) # 是否数字
3 print(s.isalpha()) # 是否字母
4 print(s.isalnum()) # 是否由数字和字母组成
5 s = "壹仟贰佰五十六萬拾"
6 print(s.isnumeric())   #会计用

    9.字符串长度    python的内置函数 len(), int(), bool(), str(), type()

        len(s)  

1 s = "娃哈哈可口可乐"
2 print(len(s)) # 字符串中的字符的个数   结果:7

    10.迭代

      1) 对字符串进行遍历

1 s="王小利刘能赵四回复还"
2 n=0
3 while n<len(s):  # len(s)是字符串的长度
4     print(s[n])
5     n=n+1

      2) for循环

            for  变量 in  可迭代对象  

           循环体       #表示可迭代对象中的每一个元素赋值给前面的变量           

1 s="王小利刘能赵四回复还"
2 for c in s: #将s中的字符拿出来放入c中,不停的循环和遍历
3     print(c)

 

posted @ 2018-07-30 15:27  葡萄想柠檬  Views(773)  Comments(0)    收藏  举报
目录代码