zoukankan      html  css  js  c++  java
  • Python基础数据类型之整型,布尔值,字符串

    1.数据类型

    Python中常用的数据类型有多种,如下:

    整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set).

    •  int。整型:数字,主要用于运算。1 ,2,3...
    •  bool。布尔:判断真假:True, False.
    •  str。字符串:简单少量的储存数据,并进行相应的操作。name = 'alex',
    •  tuple。元组:只读,不能更改。(1,'xiaobai') 
    •  list。列表:大量有序数据,[1,'ses',True,[1,2,3],{'name':'xiaohei'}]
    •  dict。字典:大量数据,且是关联性比较强的数据  {'name':'xiaohei','age':18,'name_list':['张三','李四']}
    • set。集合:存储大量的数据,{1,2,3}

    2.基础数据类型

    1. 整型  int

    首先要给大家讲下是十进制与二进制之间的转换。

    十进制整数转换为二进制整数

      采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

     42转换二进制为 101010

    二进制整数转换为十进制整数

    ob0001 1010
     b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
     print(b)  # 26

    常用的方法:

    bin_lenth   用于十进制数转换成二进制的有效长度

       i = 4      
       print(i.bit_length())  
      #
    3
    i
    = 42 print(i.bit_length())
      #
    6

    2.布尔

    布尔值就两种:True,False。就是反应条件的正确与否。

    真   1   True。

    假   0   False。

    其他数据类型转换成布尔数据的假的数据

    整形 :0
    字符串 :“”
    列表 :[]
    元组: ()
    字典: {}
    集合:set()

    3.字符串str

      Python中凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。

    1.字符串的切片,索引

      - 对字符串进行索引,切片出来的数据都是字符串类型。

     索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    s1 = "蜉蝣及夕而死,夏蝉不知春秋"
    print(s1[0])
    print(s1[3])
    print(s1[5])
    
    # 输出结果为:
    蜉
    夕
    死

    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

    a = "蜉蝣及夕而死,夏蝉不知春秋"
    print(a[0:3])  # print(a[:3]) 从开头开始取0可以默认不写
    print(a[2:5])
    print(a[:])  # 默认到最后
    print(a[:-1])  # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到最后一个元素
    print(a[:5:2])  # 加步长
    print(a[-1:-5:-1])  # 反向加步长
    print(a[-1:-5:-2])  # 反向加步长
    print(a[::-1])  # 字符串反转
    
    # 输出结果为:
    蜉蝣及
    及夕而
    蜉蝣及夕而死,夏蝉不知春秋
    蜉蝣及夕而死,夏蝉不知春
    蜉及而
    秋春知不
    秋知
    秋春知不蝉夏,死而夕及蝣蜉

    2.字符串常用的方法

    upper() / lower()  大写与小写

    v = "qwer"
    v2 = v.upper()
    print(v2)
    # QWER
    
    
    v = "QWER"
    v3 = v.lower()
    print(v3)
    # qwer 

    应用:

    username = input("请输入用户名")
    password = input("请输入密码")
    code = "qwER"
    code2 = input("请输入验证码")
    if code2.upper() == code.upper():
        if username == "小白" and password == "123":
            print("登录成功")
        else:
            print("用户名密码错误")
    else:
        print("验证码输入错误")

    startswith() / endswith() 以什么开头/ 以什么结尾,返回布尔值

    s = 'taifdsa'
    print(s.startswith('t'))
    # True
    print(s.startswith('tai'))
    # True
    print(s.startswith('B',3,6))
    # False

    replace() 替换

    # replace参数的定义
    replace(需要将要替换的元素,被替换成的元素,控制替换个数)
    
    
    a = "为了寻找你,我住进了鸟的眼睛,可是我却迷路了"
    msg = a.replace("","小白")    # 默认替换全部
    print(msg)
    # 为了寻找你,小白住进了鸟的眼睛,可是小白却迷路了
    
    a = "为了寻找你,我住进了鸟的眼睛,可是我却迷路了" msg = a.replace("","小白",1) # 控制替换个数 print(msg) # 为了寻找你,小白住进了鸟的眼睛,可是我却迷路了

    strip()  去空白;包含空格, ,

    s4 = '  
    小白	'
    s5 = s4.strip()
    print(s5)
    # 小白
    
    s = 're小r白qsd'
    s7 = s.strip('reqsd')
    print(s7)
    # 小r白
    
    s4 = 'rrrreee小r白qsd'
    s5 = s4.strip('reqsd')
    s6 = s4.strip('qrsed')
    print(s5)
    print(s6)
    # 小r白
    # 小r白

    split()  分割,默认按照空格分割,返回一个列表

    s6 = '西游记 红楼梦 三国演义'
    lis = s6.split()
    print(lis)
    # ['西游记', '红楼梦', '三国演义']
    
    s6 = "西游记,红楼梦,三国演义"
    lis = s6.split(",")
    print(lis)
    # ['西游记', '红楼梦', '三国演义']
    
    s6 = ':barry:nvshen:wu'
    print(s6.split(':'))
     # ['', 'barry', 'nvshen', 'wu']
     
    可以指定分割的索引位置
    s6 = ':barry:nvshen:wu'
    print(s6.split(":",2))
    # ['', 'barry', 'nvshen:wu']

    join()  链接

    s6 = "西游记"
    msg = "+".join(s6)
    print(msg)
    # 西+游+记
    
    lis = ['西游记', '红楼梦', '三国演义']  # 列表的元素不能出现整形,嵌套
    s1 = "+".join(lis)
    print(s1)
    # 西游记+红楼梦+三国演义
    
    dic = {"吴承恩": "西游记","曹雪芹":"红楼梦"}  # 字典的键不能是整形
    msg = "+".join(dic)
    print(msg)
    # 吴承恩+曹雪芹

    count()   元素出现的个数

    s8 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'    
    # 计算a在s8中总共有多少个 
    print(s8.count('a'))
    # 5

    len()  计算字符串的长度

    s8 = 'sdfgsf'
    print(len(s8))

    format()  格式化输出

    # 第一种用法:
    msg = '我叫{}今年{}性别{}'.format('小白',25,'')
    print(msg)
    
    #第二种用法:
    msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('小白', 25,'')
    print(msg)
    
    #第三种用法:
    a = 100
    msg = '我叫{name}今年{age}性别{sex}'.format(age=18,sex='',name='小白')
    print(msg)

    is 系列(返回布尔值)

    name = 'xiaobai123'
    print(name.isalnum())   #字符串由字母或数字组成
    print(name.isalpha())   #字符串只由字母组成
    print(name.isdecimal()) #字符串只由十进制数组成
    

    s1 = input('请输入您的金额:').strip() if s1.isdecimal(): print(int(s1)) else: print('输入有误')

    find 与 index:

    s1 = 'barry'
    find :通过元素找索引,找到第一个就返回,找不到返回-1
    index:通过元素找索引,找到第一个就返回,找不到报错
    print(s1.find('a'))
    # 1
    print(s1.find('r')) # 2
    print(s1.find('o')) # -1
    print(s1.index('r')) # 2
    print(s1.index('o')) # 报错 substring not found

    待续

  • 相关阅读:
    MySQL SQL语句总结
    JavaFx通用查询、跳转创建、修改页面、关闭舞台工具类
    反射工具类
    SpringBoot将数据写入word模板,生成word文档
    vscode设置中文的方法
    Flex 布局
    处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” •使用了托管的处理程序,但是未安装或未完整安装 ASP.NET。
    第一周助教总结
    JS时间转换
    ES 安装常见错误
  • 原文地址:https://www.cnblogs.com/zangyue/p/12115374.html
Copyright © 2011-2022 走看看