zoukankan      html  css  js  c++  java
  • 整型(进制转换)、浮点型、字符串类型和列表类型。

    今天的学习内容有:整型(进制转换)、浮点型、字符串类型和列表类型。

    整型(int)

    整型定义方式
    age = 18 # age = int(18)
    ps:int只能转纯数字的字符串,小数点都不行

    进制转换

    其他进制转10进制

    二进制转十进制 0,1
    10    #  1*(2**1) + 0*(2**0) 2
    八进制转十进制 0-7
    235   #  2*(8**2) + 3*(8**1) + 5*(8**0)
    十六进制转十进制 0-9 A-F
    217   #  2*(16**2) + 1*(16**1) + 7*(16**0)

    print(int('1100',2))  # int可以传第一个参数,表示的是第一个参数到底是什么进制  然后转成十进制
    print(int('14',8))
    print(int('c',16))

    10进制转其他进制

    复制代码
    10进制转二进制
    print(bin(12))  # 0b1100  0b表示后面的数字是二进制数
    
    10进制转八进制
    print(oct(12))  # 0o14  0o表示后面的数字是八进制数
    
    10进制转16进制
    print(hex(12))  # 0xc  0x表示后面的数字是十六进制数
    复制代码

    可变类型:值改变的情况下,id不变,说明你改的是原值
    不可变类型:值改变的情况下,id一定变

    浮点型(float)

    salary = 1.1  # float(1.1)

    字符串(str)

    复制代码
    >>> s = 'hello baby'   # str('hello baby')
    >>> s1 = str([1,2,3,4])
    >>> print(type(s1))
    <class 'str'>
    >>> s2 = str({'name':'jason','password':123})
    >>> print(type(s2))
    <class 'str'>
    复制代码

    字符串的作用是描述性信息,定义:在单引号双引号三引号内,由一串字符组成。

    复制代码
    1、按索引取值(正向取+反向取) :只能取
    s = 'hello world!'
    print(s[0])  # 正向取值
    >>>h
    s = 'hello world!'
    print(s[-2])  # 反向取值    
    >>>d
    
    2、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串,左边的固定就是头,右边固定就是尾,没有说按数字来分头尾。切片取值默认是从左往右的
    s = 'hello world!'
    print(s[0:5])  # hello
    print(s[0:10:])  # hello worl  步长不写默认是1
    print(s[0:10:2])  # hlowr 步长表示隔几个取一个
    了解负数取值
    s = 'hello world!'
    print(s[-1])  # ! 倒数第一位
    print(s[5:0:-2])  # le 
    print(s[-1:-10:-1]) # !dlrow ol 
    
    3、长度len:统计的是字符串中字符的个数
    s = 'hello world!'
    print(len(s))
    >>>12
    
    4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
    print('egon' in 'egon is dsb and egon is sb')
    print('g' in 'egon is dsb and egon is sb')
    print('jason' not in 'egon is dsb and egon is sb')
    
    5、去掉字符串左右两边的字符strip,不管中间的
    name='*egon**'
    print(name.strip('*'))  # 去掉字符串左右两边的字符
    >>>egon
    print(name.lstrip('*'))  # 去掉字符串左边
    >>>egon**
    print(name.rstrip('*'))  # 去掉字符串右边
    >>>*egon
    
    6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值,如果不指定那么split和rsplit效果是一样。
    data = 'jason|123|handsome'
    print(data.split('|'))  # 在'|'的位置将字符串分隔开
    print(data.split('o',1))  # 切割的顺序其实从左往右的
    print(data.rsplit('o',1))  # 从右边开始切割
    
    7、循环
    data = 'jaso n|123| handsome'
    for i in data:
         print(i)
    复制代码
    复制代码
    8、lower,upper(将字符串的字母变成大写或者小写)
    name='egon'
    print(name.lower())
    >>>egon
    print(name.upper())
    >>>EGON
    
    9、startswith、endswith(判断字符串以什么开头,以什么结尾)
    name='alex_egon'
    print(name.endswith('egon'))  # 字符串是否以egon结尾
    >>>True
    print(name.startswith('alex'))  # 字符串是否以alex开头
    >>>True
    
    10、format的三种玩法(python推荐使用format做格式化输出)
    第一种  按位置占位   跟%s原理一致
    res='{} {} {}'.format('egon',18,'male')
    print(res)
    >>>egon 18 male
    第二种  按索引占位
    res='{1} {0} {1}'.format('egon',18,'male')
    print(res)
    >>>18 egon 18
    第三种  指名道姓占位(关键字传参)
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    print(res)
    >>>egon 18 male
    
    11、join(将容器类型中的多个元素通过指定字符拼接成一个字符串)
    l = ['1','a','b']
    res = '|'.join(l)
    print(res)
    >>>1|a|b
    
    12、replace(str.replace(old, new[, max])将old替换成new)
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','egon'))
    
    13、isdigit (判断字符串中包含的是否为纯数字)
    age=input('>>: ')
    print(age.isdigit())  # 输入数字时打印结果为True,输入字母时,打印结果为False
    复制代码

    列表类型

    #作用:多个装备,多个爱好,多门课程,多个女朋友等

    #定义:[]内可以有多个任意类型的值,逗号分隔  

    复制代码
    my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])
    或
    l=list('abc')
    1、取值
    l=[1,2,3,4,5,6]
    #正向步长
    l[0:3:1] #[1, 2, 3]
    #反向步长
    l[2::-1] #[3, 2, 1]
    
    2、切片(顾头不顾尾,步长)
    同字符串
    
    3、添加
    l = [11,22,33,44,55]
    l1 = [99,88,77,66]
    1、尾部添加一个66
    l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素
    print(l)
    >>>[11, 22, 33, 44, 55, 66]
    
    2、任意位置添加元素
    l.insert(2,96)  # 通过索引在任意位置添加元素
    print(l)  # 注意insert值能将被添加的数据当作列表的一个元素
    >>>[11, 22, 96, 33, 44, 55]
    
    3、添加容器类型数据
    l.append(l1)
    l.insert(-1,l1)
    l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
    l.extend([1,])
    print(l)
    >>>[11, 22, 33, 44, 55, [99, 88, 77, 66], [99, 88, 77, 66], 99, 88, 77, 66, 1]
    
    4、删除
    l = [11,22,33,44,55]
    l1 = [99,88,77,66]
    
    1、del(根据索引(元素所在位置)来删除的)
    print(l)
    del l[2]  # del适用于所有的删除操作
    print(l)
    2、remvo(删除指定元素的值)
    res = l.remove(33)  # 指定要删除的元素的值
    print(l)
    print(res)也可以
    3、pop(将最后一个元素弹出,弹出的元素可以查看到,也可以指定索引,按照索引弹出元素)
     res1 = l.pop()  # 尾部弹出
    res2 = l.pop()
    res3 = l.pop()
    print(res1,res2,res3)
    res1 = l.pop(0)  # 可以指定索引 按照索引弹出元素
    print(res1)
    复制代码
  • 相关阅读:
    CSRF的防御解决过程
    Spring生态研习【三】:Spring-kafka
    Spring生态研习【二】:SpEL(Spring Expression Language)
    Spring生态研习【一】:定时任务Spring-task
    给定一个大的任务,需要在考虑性能的情况下,快速处理完,并报告结果
    给定一个大于2的偶数,将其分解为两个质数的和
    一个求解平方根的算法题
    Kafka研究【一】:bring up环境
    LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案
    IDEA使用笔记(八)——自动生成 serialVersionUID 的设置
  • 原文地址:https://www.cnblogs.com/wkq0220/p/11128366.html
Copyright © 2011-2022 走看看