zoukankan      html  css  js  c++  java
  • 基本数据类型及其内置方法(数字、字符串)

    一:int类型

    1、作用:描述年龄、身份证、数量

    2、定义:

    age = 10 # age=int(10)

    3.类型转换

    3.1 纯数字的字符串转成int

    res=int('100111')
    print(res,type(res))
    100111 <class 'int'>
    

    3.2(了解)

    2.2.1 十进制转成其他进制

    10进制 -> 二进制

    print(bin(11)) # 0b1011
    

    10进制 -> 八进制

    print(oct(11)) # 0o13
    

    10进制 -> 十六进制

    print(hex(11)) # 0xb
    

    3.2.2 其他制转成其十进制

    二进制->10进制

    print(int('0b1011',2)) # 11
    

    print(int('0b1011',2)) # 11

    二进制->8进制

    print(int('0o13',8)) # 11
    

    二进制->16进制

    print(int('0xb',16)) # 11
    

    二:float类型

    1、作用:用于描述薪资,身高,体重等

    2、定义

    salary=3.1 # salary=float(3.1)

    3、类型转换

    res=float("3.1")
    print(res,type(res))

    4、使用

    int与float没有需要掌握的内置方法
    他们的使用就是数学运算+比较运算

    三:字符串类型

    1、作用:用于描述某种状态,如人的名字,外貌

    2、定义

    # msg='hello' # msg=str('msg')
    # print(type(msg))
    

    3、类型转换

    str可以把任意其他类型都转成字符串

    # res=str({'a':1})
    # print(res,type(res))
    {'a': 1} <class 'str'>
    

    4、使用:内置方法

    4.1 优先掌握

    4.1.1、按索引取值(正向取+反向取) :只能取

    msg='hello world'

    正向取

    msg='hello world'
    print(msg[0])
    print(msg[5])
    h
     是一个空格
    

    反向取

    print(msg[-1])
    d
    

    只能取

    msg[0]='H'     直接报错,字符串是不可变的
     File "C:/Users/Administrator/Desktop/3.10/03 字符串类型.py", line 22, in <module>
        msg[0]='H'
    TypeError: 'str' object does not support item assignment
    
    

    4.1.2、切片:索引的拓展应用,从一个大字符串中拷贝出一个子字符串

    msg='hello world'

    顾头不顾尾

    res=msg[0:5] #  从0开始4结束
    print(res)
    hello
    

    步长

    res=msg[0:5:2] # 0 2 4
    print(res) # hlo
    

    反向步长(了解)

    res=msg[5:0:-1]
    print(res) #  olle
     olle
    
    res=msg[:] # res=msg[0:11]  
    print(res)
    hello world
    
    res=msg[::-1] # 把字符串倒过来
    print(res)
    dlrow olleh
    

    4.1.3、长度len

    msg='hello world'
    print(len(msg))
    11
    

    4.1.4、成员运算in和not in

    判断一个子字符串是否存在于一个大字符串中

    print("alex" in "alex is sb")
    print("alex" not in "alex is sb")  # 不推荐使用
    print(not "alex" in "alex is sb") 
    True
    False
    False
    

    4.1.5、移除字符串左右两侧的符号strip

    默认去掉的空格

    msg='      egon      '
    res=msg.strip()
    print(msg) # 不会改变原值
    print(res) # 是产生了新值
          egon      
    egon
    

    去掉的其他字符

    msg='****egon****'
    print(msg.strip('*'))
    egon
    
    msg='****e*****gon****'
    print(msg.strip('*'))
    e*****gon  了解:strip只取两边,不去中间
    

    应用

    inp_user=input('your name>>: ').strip() # inp_user=" egon"
    inp_pwd=input('your password>>: ').strip()
    if inp_user == 'egon' and inp_pwd == '123':
        print('登录成功')
    else:
        print('账号密码错误')
    

    4.1.6、切分split:把一个字符串按照某种分隔符进行切分,得到一个列表

    默认分隔符是空格

    info='egon 18 male'
    res=info.split()
    print(res)
    ['egon', '18', 'male']
    

    指定分隔符

    info='egon:18:male'
    res=info.split(':')
    print(res)
    

    指定分隔次数(了解)

    info='egon:18:male'
    res=info.split(':',1)
    print(res)
    

    4.1.7、循环

    info='egon:18:male'
    for x in info:
        print(x)  依次输出
    

    4.2 需要掌握

    4.2.1、strip,lstrip,rstrip

    msg='***egon****'
    print(msg.strip('*'))
    print(msg.lstrip('*'))
    print(msg.rstrip('*'))
    egon****
    ***egon
    egon:18:male
    

    4.2.2、lower,upper

    msg='AbbbCCCC'
    print(msg.lower())
    print(msg.upper())
    abbbcccc
    ABBBCCCC
    

    4.2.3、startswith,endswith

    print("alex is sb".startswith("alex"))
    print("alex is sb".endswith('sb'))
    True
    True
    

    4.2.4、format

    见之前格式化输出

    4.2.5、split,rsplit:将字符串切成列表

    info="egon:18:male"
    print(info.split(':',1)) # ["egon","18:male"]
    print(info.rsplit(':',1)) # ["egon:18","male"]
    

    4.2.6、join: 把列表拼接成字符串

    l=['egon', '18', 'male']
    res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
    print(res)
    egon:18:male
    

    4.2.7、replace

    msg="you can you up no can no bb"
    print(msg.replace("you","YOU",))
    print(msg.replace("you","YOU",1))  只替换第一个
    YOU can YOU up no can no bb
    YOU can you up no can no bb
    

    4.2.8、isdigit

    判断字符串是否由纯数字组成

    print('123'.isdigit())
    print('12.3'.isdigit())
    True
    False
    

    应用

    # age=input('请输入你的年龄:').strip()
    # if age.isdigit():
    #     age=int(age) # int("abbab")
    #     if age > 18:
    #         print('猜大了')
    #     elif age < 18:
    #         print('猜小了')
    #     else:
    #         print('才最了')
    # else:
    #     print('必须输入数字,傻子')
    

    4.3了解

    4.3.1、find,rfind,index,rindex,count

    msg='hello egon hahaha'
    print(msg.find('e')) # 返回要查找的字符串在大字符串中的起始索引
    print(msg.find('egon'))
    print(msg.index('e'))
    print(msg.index('egon'))
    1
    6
    1
    6
    # print(msg.find('xxx')) # 返回-1,代表找不到
    # print(msg.index('xxx')) # 抛出异常
    

    计数count

    msg='hello egon hahaha egon、 egon'
    print(msg.count('egon'))
    3
    

    4.3.2、center,ljust,rjust,zfill

    print('egon'.center(50,'*'))
    print('egon'.ljust(50,'*'))
    print('egon'.rjust(50,'*'))
    print('egon'.zfill(10))
    ***********************egon***********************
    egon**********************************************
    **********************************************egon
    000000egon
    

    4.3.3、expandtabs

    msg='hello	world'
    print(msg.expandtabs(2)) # 设置制表符代表的空格数为2
    hello world
    

    4.3.4、captalize,swapcase,title

    print("hello world egon".capitalize())   第一个单词首字母大写
    print("Hello WorLd EGon".swapcase())   大小写互换
    print("hello world egon".title())      每个单词首个字母大写
    Hello world egon
    hELLO wORlD egON
    Hello World Egon
    

    4.3.5、is数字系列

    4.3.6、is其他

    print('abc'.islower())   判断是否小写
    print('ABC'.isupper())   判断是否大写
    print('Hello World'.istitle())   判断每个单词首个字母是否大写
    print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
    print('ad'.isalpha()) # 字符串由由字母组成结果为True
    print('     '.isspace()) # 字符串由空格组成结果为True
    print('print'.isidentifier())      字符定义规范
    print('age_of_egon'.isidentifier())
    print('1age_of_egon'.isidentifier())
    True
    True
    True
    True
    True
    True
    True
    True
    False
    

    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='四' #中文数字
    num4='Ⅳ' #罗马数字

    # isdigit只能识别:num1、num2
    # print(num1.isdigit()) # True
    # print(num2.isdigit()) # True
    # print(num3.isdigit()) # False
    # print(num4.isdigit()) # False
    
    
    
    # isnumberic可以识别:num2、num3、num4
    # print(num2.isnumeric()) # True
    # print(num3.isnumeric()) # True
    # print(num4.isnumeric()) # True
    
    # isdecimal只能识别:num2
    # print(num2.isdecimal()) # True
    # print(num3.isdecimal()) # False
    # print(num4.isdecimal()) # False
    
  • 相关阅读:
    我的第二个思维导图,用来介绍框架
    如何减少基于DataSet框架的代码输入量(一)
    近日
    关于客户端如何获取服务器时间的方法
    匹配用逗号分隔的数字(防sql注入检查)
    十六进制字符串转整形
    sql获取自增行号
    body不出现滚动条方法
    vs2010 无法调试 无法进入断点 断点无效
    Textarea 高度自适应 根据内容自适应高度
  • 原文地址:https://www.cnblogs.com/chenyoupan/p/12457769.html
Copyright © 2011-2022 走看看