zoukankan      html  css  js  c++  java
  • python基本数据类型,int,bool,str

    一丶python基本数据类型

      1.int  整数,主要用来进行数学运算.

      2.str  字符串,可以保存少量数据并进行相应的操作

      3.bool  判断真假.True.False

      4.list  存储大量数据,用[]表示

      5.tuple  元组,不可以发生改变 用()表示

      6.dict  字典,{key:value} ,一样可以保存大量数据

      7.set  集合,保存大量数据,不可以重复,其实就是不保存value的dict.

    二丶整数(int)

      bit_length().计算整数在内存中占用的二进制码的长度

    三丶布尔值(bool)

      布尔只有两个值,Ture,False  一般是没有什么操作的

      类型转换问题:

        把XX转换为YY:  YY(XX)

        数字 =>  字符串        str(数字)

      可以表示False的内容: 0,"",[],tuple(),{},None

      所有的空都是False,所有的非空是True

     

    四丶字符串(str)

      把字符连成串,在python中用',","""引起来的内容被称为字符串

     4.1:切片和索引

      1.索引就是下标,从0开始

     1 s1 = "python最牛B"
     2     # 0123456 7 8    下标
     3 print(s1[0])   #获取第一个
     4 print(s1[1])
     5 print(s1[2])
     6 print(s1[3])
     7 print(s1[4])
     8 print(s1[5])
     9 print(s1[6])
    10 print(s1[7])
    11 print(s1[8])     #获取最后一个
    12 # print(s1[9])     #索引不能超过边界
    13 
    14 print(s1[-1])  #负数为倒数   -1为倒数第一个
    15 print(s1[-2])  #-2为倒数第二个
    View Code

      2.切片

        我们可以使用下标来截取部分字符串的内容

          语法: str[start:end]

          规则:顾头不顾腚,从start开始截取,截取到end 位置,但不包括end  

     1 s2 = "python无敌BBQ"
     2 
     3 print(s2[0:3]) #从下标零开始获取,获取到下标3,但是不包括下标3,就是获取到下标2了 ,结果为 pyt
     4 print(s2[6:8])#从下标6开始获取,下标6为"无",获取到下标7,所以结果为 无敌
     5 print(s2[9:11])# 顾头不顾腚,要想获取到10,必须到11  结果为 BQ
     6 print(s2[9:12])#如果后面那个值超出最大下标的值,则只显示到最大坐标处  结果为  BQ
     7 print(s2[4:]) #如果想直接获取到最后,那后面的那个值也可以不给  结果为 on无敌BBQ
     8 print(s2[-5:-1]) # 负数为倒取,从后往前取   结果为  无敌BB
     9 print(s2[-5:])# 从倒数第五个,直接获取到最好后  结果为 无敌BBQ
    10 print(s2[-1]) # 取倒数第一个  结果为 Q
    11 print(s2[:])# 范围不写 代表输出所有值 结果为  python无敌BBQ
    View Code

       3.步长

        如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1 

        语法:

        str[start:end:step]

        start:起始位置

        end:结束位置

        step:步长

    1 s2 = "python无敌BBQ"
    2 print(s2[1:6:2])#从下标1开始取,取到下标5,每两个取一个   结果为 yhn
    3 print(s2[3:8:3])#同上,从下标3开始取,取到下标7,每三个取一个  结果为 h无
    4 print(s2[4::2])#从下标4取到最后,每两个取一个 结果为 o无BQ
    5 print(s2[-5::3])#从倒数下标5取到最好,每三个取一个  结果为 无B
    View Code

     4.2字符串相关操作

      切记,字符串是不可变对象,所以任何操作对原字符串不会有任何影响的

      1.大小写相互转换

      

     1 # str字符串转换
     2 s1 = "alex eggon,TaiBai*yinWang_麻花藤"
     3 print(s1)
     4 ret = s1.capitalize()
     5 print(ret)
     6 ret = s1.lower()  #全部转换为小写
     7 print(ret)
     8 ret = s1.upper()  #全部转换为大写
     9 print(ret)
    10 ret = s1.swapcase()     #大小写互相转换
    11 print(ret)
    12 # 不常⽤
    13 ret = s1.casefold() # 转换成⼩写, 和lower的区别: lower()对某些字符⽀持不够好.casefold()对所有字⺟都有效. ⽐如东欧的⼀些字⺟
    14 print(ret)
    15 s2 = "БBß" # 俄美德
    16 print(s2)
    17 print(s2.lower())
    18 print(s2.casefold())
    19 ret = s1.title() #  Alex Eggon,Taibai*Yinwang_麻花藤  #特殊符号后的首字母大写
    20 print(ret)
    21 # 中文也算是特殊字符
    22 s2 = "alex老男孩taibai"
    23 ret = s2.title()  #Alex老男孩Taibai
    24 print(ret)
    View Code

    结果:

      2.切片

     1 #去空格
     2 s3 = "       alex       taibai      "
     3 
     4 ret = s3.strip()   #去掉两端的空格
     5 print(ret)
     6 ret = s3.lstrip()   #去掉左边的空格
     7 print(ret)
     8 ret = s3.rstrip()   #去掉右边的空格
     9 print(ret)
    10 #替换
    11 s4 = "alex_taibai_taobao_eggon_xiaoniao"
    12 ret = s4.replace("alex","金角大王") #把alex替换为金角大王
    13 print(ret)
    14 print(s4)
    15 ret = s4.replace("t","T",2) #把t替换成T,替换两个
    16 print(ret)
    17 #切割
    18 s5 = "alex_taibai_taobao_eggon_xiaoniao"
    19 ret =  s5.split("_")  #字符串切割,根据_切割  结果为  ['alex', 'taibai', 'taobao', 'eggon', 'xiaoniao']
    20 print(ret)
    View Code

    结果:

      3.格式化输出

    1 #格式化输出
    2 s6 = "我叫%s,今年%d岁了,我喜欢%s"%('alex',26,'周杰伦')  #之前的格式化输出
    3 print(s6)
    4 s6 = "我叫{},今年{}岁了,我喜欢{}" .format("alex",26,"周润发") #按位置格式化
    5 print(s6)
    6 s6 = "我叫{0},今年{2}岁了,我喜欢{1}" .format( "alex","周润发",26) #指定位置
    7 print(s6)
    8 s6 = "我叫{name},今年{age}岁了,我喜欢{singer}".format(name="alex", singer="周润发", age=28)     # 指定关键字
    9 print(s6)
    View Code

    结果:

      4.查找

     1 #查找
     2 s6 = "我叫alex,我喜欢python,java,c等编程语言"
     3 ret = s6.startswith("alex")  #判断是否以alex开头
     4 print(ret)
     5 ret = s6.endswith("语言")  #判断是否以语言结尾
     6 print(ret)
     7 ret = s6.count("a")  #查找a出现的次数
     8 print(ret)
     9 ret = s6.find("叫的阿道")  #查找叫 出现的位置  如果没有则返回-1
    10 print(ret)
    11 ret = s6.index("java")   #索引"java"的位置,如果找不到,则会报错
    12 print(ret)
    View Code

    结果:

      5.条件判断

     1 #条件判断
     2 s7 = "123.456"
     3 s8 = "abc"
     4 s9 = " ad$%&89"
     5 print(s7.isalnum())    #是否由字数和数字组成
     6 print(s8.isalnum())
     7 print(s9.isalnum())
     8 print(s7.isalpha())    #是否由字母组成
     9 print(s8.isalpha())
    10 print(s9.isalpha())
    11 print(s7.isdigit())    #是否由数字组成, 不包括小数点
    12 print(s8.isdigit())
    13 print(s9.isdigit())
    View Code

     结果:

      6.计算字符串长度

    1 #计算字符串长度
    2 
    3 s10 = "alex is a page"
    4 ret = len(s10)
    5 print(ret)
    6 # 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行 了
    View Code

      7.迭代

     1 #迭代
     2 s11 = "我是xiaoniao,我从来都不放P"
     3 a = 0
     4 while a < len(s11):
     5     print(s11[a])   #利用索引切片来完成字符的查找
     6     a += 1
     7 for c in s11: #利用for循环把s11中每一个字符拿出来 赋给c
     8     print(c)
     9 print("xiaoniao"in s11)
    10 '''    in有两种⽤用法:
    11         1. 在for中. 是把每一个元素获取到赋值给前⾯的变量.
    12         2. 如果不在for中. 判断xxx是否出现在str中. '''
    View Code
  • 相关阅读:
    在yii中使用Filter实现RBAC权限自动判断
    关于WEB设计透明和阴影
    一句话扯扯数据结构的概念点
    Console API Google 浏览器开发人员工具使用
    git提交项目时候,忽略一些文件
    学习笔记 如何解决IE6 position:fixed固定定位问题{转载}
    [转载]yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
    Jquery 常用方法经典总结【砖】
    PHP中冒号、endif、endwhile、endfor这些都是什么
    [转载]救命的PHP代码
  • 原文地址:https://www.cnblogs.com/qicun/p/9391348.html
Copyright © 2011-2022 走看看