• 数据类型1


    1. 数据类型

    1.1 数字

             数字的作用:与数字相关,例如:手机号、QQ号、身份证号等,用数字表示

             数字分为:整数(int)、浮点数(float)、复数(了解)

             例子:

    age = 10
    print(type(age))
    salary = 5680.85
    print(type(salary)) 

             长整型和复数,了解即可

             长整型:在pyhton2中使用,在python3已经废弃掉

             复数:

    x = 1 - 2j        # 定义
    print(x.real)     # 获取实部
    print(x.imag)     # 获取虚部

             整数分为:二进制、八进制、十进制、十六进制等

             进制之间可以相互转换,例如:

    age = 10  # age=int(10)
    print(bin(age))  # 十进制转化为二进制
    print(oct(age))  # 十进制转化为八进制
    print(hex(age))  # 十进制转化为十六进制

    1.2 字符串

    作用:定义名字、地址、国籍等描述性信息

    定义:在单引号、双引号、三引号内由一串字符组成;字符串,本身存储一个值,由一串字符组成。

    常用操作有:

             移除空白

             切分

             长度

             索引

             切片

    1.2.1 移除空白

    移除空白的方法是strip,例如:

    msg='    welcome to beijing     '
    print(msg.strip())   # 移除左右两侧空白
    print(msg.rstrip())  # 移除右侧空白
    print(msg.lstrip())  # 移除左侧空白

    运行结果:

    welcome to beijing
        welcome to beijing
    welcome to beijing    

    移除指定字符,比如移除指定字符’*’,例如:

    msg='******python******'
    print(msg.strip('*'))
    print(msg.lstrip('*'))
    print(msg.rstrip('*'))

    运行结果:

    python
    python******
    ******python 

    1.2.2 切分

    字符串切分,通过制定切分字符,进行切分,切分的结果是一个列表,例如:

    user_info='root:x:0:0::/root:/bin/bash'
    user_list=user_info.split(':')
    print(user_list)

    运行结果:

    ['root', 'x', '0', '0', '', '/root', '/bin/bash'] 

    指定切分次数进行字符串切分,例如:

    cmd_info='get|sys.log|error'
    cmd_list=cmd_info.split('|',1)
    print(cmd_list)

    运行结果:

    ['get', 'sys.log|error']

    字符串默认切分分割符空格,例如:

    msg='my name is jack '

    运行结果:

    ['my', 'name', 'is', 'jack']

    1.2.3长度

    统计字符串长度,实际就是统计字符的个数,例如:

    msg='hello world'
    print(msg.__len__())  # 属于内置方法
    print(len(msg))       # 等价于msg.__len__() 

    1.2.4 切片

    切片,跟下标有关,顾头不顾尾的操作,例如:

    复制代码
    msg = 'hello world'
    print(msg[1:4])
    print(msg[:4])
    print(msg[4:])
    print(msg[:-1])
    print(msg[:])
    print(msg[2:7:2])
    复制代码
    执行结果:
    ell
    hell
    o world
    hello worl
    hello world
    low

    1.2.5 其他操作

    1.2.5.1 endswith startswith

    startswith 以…开头,判断的结果是True、False

    endswith 以…结尾,判断的结果是True、False

    例如:

    name='alex_SB'
    print(name.endswith('SB'))      # 以SB开头,判断成功,显示True
    print(name.startswith('alex'))  # 以alex结果,判断成功,显示True 

    1.2.5.2 replace

    replace字符串的替换,例如:

    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))     # 指定替换次数

    1.2.5.3 format

    字符串本身提供字符串格式的方法format,例如:

    print('{} {} {}'.format('jack',58,'male'))
    print('{0} {1} {0}'.format('jack',58,'male'))
    print('NAME:{name} AGE:{age} SEX:{sex}'.format(age=58,sex='male',name='jack'))

    运行结果:

    jack 58 male
    jack 58 jack
    NAME:jack AGE:58 SEX:male

    1.2.5.4 isdigit

    判断字符串是否为数据,提供了三种方法isdigit、

    num='123'
    print(num.isdigit()) 

    利用isdigit判断是否为数字,进行程序的判断运行

    复制代码
    jack_age=73
    while True:
        age=input('>>: ').strip()
        if len(age) == 0:continue
        if age.isdigit():
            age=int(age)
            print(age,type(age))
    复制代码

    1.2.5.5 find index

    name='jack say hello'
    print(name.find('o',1,3))   # 顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
    print(name.index('e',2,4))  # 同上,但是找不到会报错
    print(name.count('e',1,3))  # 顾头不顾尾,如果不指定范围则查找所有 

    1.2.5.6 join

    利用join,进行字符串的拼接,内容必须是字符串;否则会类别报错,

    l=['jack','say','hello','world'] #类别内容必须都是字符串
    print(':'.join(l))
    tag=' '
    print(tag.join(['jack','say','hello','world'])) #可迭代对象必须都是字符串 

    1.2.5.7 填充

    利用center方法,进行填充,填充可以指定字符,默认填充字符是空格,例如:

    name='jack'
    print(name.center(30))
    print(name.center(30,'*'))
    print(name.ljust(30,'*'))
    print(name.rjust(30,'*'))
    print(name.zfill(30))

    运行结果:

                 jack            
    *************jack*************
    jack**************************
    **************************jack
    00000000000000000000000000jack

    1.2.5.8 expandtabs

    指定tab键空格数量,默认的tab键是四个空格,例如:

    name='jack	hello'
    print(name)
    print(name.expandtabs(2)) 

    1.2.5.9 大小写转换

    name='JACK'
    print(name.lower())  # 大写转小写
    name='jack'
    print(name.upper()) # 小写转大写 

    1.2.5.10  capitalize swapcase title

    复制代码
    name='jack say'
    print(name.capitalize()) # 首字母大写
    print(name.swapcase())   # 大小写翻转
    msg='jack say hi'
    print(msg.title())       # 每个单词的首字母大写
    name='jack123'
    print(name.isalnum())    # 字符串由字母和数字组成
    name='jack'
    print(name.isalpha())    # 字符串只由字母组成
    复制代码

    运行结果:

    Jack say
    JACK SAY
    Jack Say Hi
    True
    True 

    1.2.5.11 判断数字

    利用isdigit判断是否为数字,可以对Bytes、unicode进行数字判断:

    复制代码
    num1=b'4' #Bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='四' #中文数字
    num4='Ⅳ' #罗马数字
    
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    print(num4.isdigit())
    复制代码
    运行结果:
    True
    True
    False
    False

    利用isnumberic进行判断中文和罗马的数字

    num1='四' #中文数字
    num2='Ⅳ' #罗马数字
    print(num1.isnumeric())
    print(num2.isnumeric()) 

    利用isdecimal进行判断unicode的数字

    复制代码
    num1=u'4' #unicode,python3中无需加u就是unicode
    num2='四' #中文数字
    num3='Ⅳ' #罗马数字
    
    #isdecimal:对unicode的数字进行判断
    print(num1.isdecimal())  # 结果True
    print(num2.isdecimal())  # 结果False
    print(num3.isdecimal())  # 结果False
  • 相关阅读:
    蛙蛙推荐:用.net 4.0构建新浪微博开发平台应用
    蛙蛙推荐:Backbone官方文档翻译
    蛙蛙推荐:javascript异步任务流
    蛙蛙推荐:sqlserver三种分页方式性能比较
    蛙蛙推荐:css背景图片固定居中,div阴影,背景半透明,div圆角,DIV渐变
    如何高效的利用新浪微博获取信息
    蛙蛙推荐:gevent并发发送UDP包演示
    蛙蛙推荐:神马ORM都是浮云,看看史上最简单最好用的OleDbHelper
    蛙蛙推荐:写了一个简单的延迟队列
    PostgreSQL中with和without time zone两者有什么区别 规格严格
  • 原文地址:https://www.cnblogs.com/ldq1996/p/7196973.html
Copyright © 2020-2023  润新知