zoukankan      html  css  js  c++  java
  • 4 数字和字符串类型

    数字和字符串类型

      数字 (int,float )

      

      

    在python3中数字类型只有整形,浮点型,复数。而复数在平时的编程中几乎用不到所以我们只要掌握整形和浮点型即可。(长整形在python3中取消了统一用整形,所以在python3中整形长度无限制)

    整型int:年级,年纪,等级,身份证号,qq号,手机号等

    ps:

    level=10

    浮点型float:身高,体重,薪资,温度,价格

    ps:

    height=1.81

    salary=3.3

    n = 12
    f = 1.5
    print(type(n)) # int即为整形
    print(type(f)) #float即为浮点型
    
    #科学计数法在python中的应用:(10用e代替)
    print(1.3e-3)    #1.3e-3 --> 0.0013
    print(1.3e3)    #1.3e3 --> 1300.0

    了解一下复数

    >>> x = 1-2j
    >>> print(x.real)
    1.0
    >>> print(x.imag)
    -2.0

    数字类型的特点:

    1、只能存放一个值

    2、一经定义,不可更改

    3、直接访问

    字符串类型

    包含在引号(单,双,三)里面,由一串字符组成

    用途(描述性的数据):姓名,性别,地址,学历,密码等。

    见代码:

      

    s1 = 'tony'
    s2 = "tony"
    s3 = '''tony'''
    s4 = """tony"""
    
    print(type(s1))
    print(type(s2))
    print(type(s3))
    print(type(s4))
    <class 'str'>
    #均为str字符串类型


    取值:

    首先要明确,字符串整体就是一个值,只不过特殊之处在于:python中没有字符类型,字符串是由一串字符组成,想取出字符串中的字符,也可以按照下标的方式取得

    >>> name = 'tony'
    >>> name
    'tony'
    >>> name[0]     # 索引从0开 取得第一个字符
    't'
    >>> name[1]
    'o'
    >>> name[2]
    'n'
    >>> name[:]     
    'tony'
    >>> 
    ##############################################
    字符串拼接:
    msg1='hello'
    msg2=' world'
    字符串中的+的用法:
    msg1 + msg2
    'hello world'
    res=msg1 + msg2
    print(res)
    hello world
    字符串中的*的用法:
    msg1*3
    'hellohellohello'
    
    注意:字符串不能再用其它符号。

    字符串常用方法全解:

    #!/usr/bin/env python3 
    # _*_ coding:utf-8 _*_
    # @Time    : 2017/08/29 
    # @Author  : tony
    # @File    : str_  
    # @Version : 1.0
    
    
    
    
    # 移除两边的空格过字符
    
    name = '        tony*****  '
    print(name)
    print(name.strip())     # str.strip() 默认移除多出的空格
    print(name.strip('*'))  # strip() 移除传入的参数,默认就是上面的空格
    
    
    
    # 判断字符串以什么结尾或开头
    
    
    name1 = 'tony'
    print(name1.startswith('t'))     # 返回布尔值   True
    
    print(name1.endswith(' '))       # 返回   False
    
    
    
    # 替换
    
    print(name1.replace('t','T'))    # str.replace(old,new,coun)    Tony    第一个参数要替换的值,第二个替换的值,第三个替换的次数
    
    
    
    # 格式化字符串
    
    user_info = 'name :{0} age: {1} TEL:{2}'.format('tony',28,'185****176')     # 按照位置
    print(user_info)            # name :tony age: 28 TEL:185****176
    
    user_info = 'name :{x} age: {y} TEL:{z}'.format(x = 'tony',y = 28,z = '185****176') # 按关键字
    print(user_info)            # name :tony age: 28 TEL:185****176
    
    
    
    
    # 索引
    
    print(name1.find('y'))      # return 位置 3 
    print(name1.find('l'))      # 找不到 return  -1 
    
    
    # 查索引 
    
    
    print(name1.index('o'))     # 返回索引 1 
    print(name1[1])             # return 'o'
    print(name1[name1.index('o')])      # index 返回字符的索引....   o
    
    
    
    # 字符串统计
    
    
    name2 = 'toooooony'
    print(name2.count('o'))         # 字母 o 出现的次数         6
    print(name2.count('o',0,4))       # 再一个范围内统计        3
    
    
    
    # 切分
    
    print(user_info.split())        # 默认以空格分隔,return list   ['name', ':tony', 'age:', '28', 'TEL:185****176']
    
    print(user_info.split(':'))     # 以传入的参数 : 为飞隔符 切分  
    
    # ['name ', 'tony age', ' 28 TEL', '185****176']
    
    print(user_info.split(':',2))     # 以传入的参数 : 为飞隔符 切分  ,第二个参数决定 几分隔成 部分
    
    
    
    
    
    # join  链接字符串数组
    
    
    name3 =""
    
    print(name3.join(['tony','say','hello','Python']))    # 可迭代对象 must str  列表包起来  tonysayhelloPython
    
    
    print(name3.join(('tony','say','hello','Python')))    # 可迭代对象 must str  tuple 包起来  tonysayhelloPython
    
    
    
    #center,ljust,rjust,rfill 对其格式
    name = "Tony"
    print(name.center(30,"-"))      # -------------Tony-------------
    print(name.ljust(30,"*"))       # Tony**************************
    print(name.rjust(30,"*"))       # **************************Tony
    print(name.zfill(50))  #用0填充 0000000000000000000000000000000000000000000000Tony
    
    
    
    #expandtabs 替换制表符“	' 的字符数
    
    
    name = 'Hello
    Tony
    Pythoner'
    print(name.expandtabs())
    
    # Hello
    # Tony
    # Pythoner
    
    
    
    # 所有字母大写,小写
    
    name = 'tony'
    print(name.upper())     # 都大写 TONY
    
    print(name.upper().lower()) # 都小写 tony
    
    print(name.capitalize())   # 首字母大 Tony 
    
    
    name = 'toNY'
    
    print(name.swapcase())      # 大小写反转 TOny
    
    user_info='name:tony'
    
    print(user_info.title())   #  每个单词的首字母大写
    
    print(user_info.istitle())  # 判断首字母是否大写 ,return False or True 
    
    
    
    #######  取值及切片
    
    
    
    
    name = "hello python"
    
    print(name[0])      #h
    print(name[6])      #p
    #print(name[20])    报错 IndexError: string index out of range
    print(name[-1])  #n
    print(name[-3])  #h
    print(name[1:3])  #el 切片
    print(name[1:5])  #ello 切片
    print(name[1:5:3])  #eo 切片 3为步长
    
    
    
    
    # 判断字符串可否转成数字 
    
    '''
    age = input('input you age >>>')
    
    if age.isdigit():
        new_age = int(age)
        print(new_age,type(new_age))
    else:
        print('you must input number')
    
    '''
    
    
    #判断是否空格,(必须全是空格)
    name = "     "
    
    print(name.isspace())       # return True of False
    
    name = 'tony123'
    
    print(name.isalnum())       # 字符串是否有字母和数字组合  return bool 
    
    print(name.isalpha())       # 是否只有字母  return bool
    字符串常用

     

    习题

    #!/usr/bin/env python3 
    # _*_ coding:utf-8 _*_
    # @Time    : 2017/08/29 
    # @Author  : tony
    # @File    : str_lianxi  
    # @Version : 1.0
    
    
    
    # 写代码,有如下变量,请按照要求实现每个功能
    name = " aleX"
    
    
    # 1    移除 name 变量对应的值两边的空格,并输出处理结果
    print(name.strip())
    
    
    # 2    判断 name 变量对应的值是否以 "al" 开头,并输出结果
    print(name.startswith('al'))
    
    
    # 3    判断 name 变量对应的值是否以 "X" 结尾,并输出结果
    print(name.endswith('X'))
    
    
    # 4    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    print(name.replace('l','p'))
    
    
    # 5    将 name 变量对应的值根据 “l” 分割,并输出结果。
    print(name.split('l'))
    
    
    # 6    将 name 变量对应的值变大写,并输出结果
    print(name.swapcase())
    print(name.upper())
    
    
    # 7    将 name 变量对应的值变小写,并输出结
    print(name.swapcase().swapcase())
    print(name.lower())
    
    
    # 8    请输出 name 变量对应的值的第 2 个字符?
    print(name[1])
    
    
    # 9    请输出 name 变量对应的值的前 3 个字符?
    print(name[0:3])
    
    
    # 10    请输出 name 变量对应的值的后 2 个字符?
    print(name[-2:])
    
    
    # 11    请输出 name 变量对应的值中 “e” 所在索引位置?
    print(name.index('e'))
    
    
    # 12    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo
    msg = 'oldboy'
    print(msg[0:-1])   #oldbo
    View Code

    # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
    name = " aleX"
    # 1)    移除 name 变量对应的值两边的空格,并输出处理结果
    # 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    # 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
    # 6)    将 name 变量对应的值变大写,并输出结果# 7)    将 name 变量对应的值变小写,并输出结果# 8)    请输出 name 变量对应的值的第 2 个字符?
    # 9)    请输出 name 变量对应的值的前 3 个字符?
    # 10)    请输出 name 变量对应的值的后 2 个字符?# 11)    请输出 name 变量对应的值中 “e” 所在索引位置?# 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 old
    #
  • 相关阅读:
    angularJS中的MVC思想?
    angularJs初体验,实现双向数据绑定!使用体会:比较爽
    原生JS去解析地址栏的链接?超好用的解决办法
    HDCMS多图字段的使用?
    sublime添加到鼠标右键打开文件的方法?
    Ajax做列表无限加载和Ajax做二级下拉选项
    Atitit.获取某个服务 网络邻居列表 解决方案
    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
    Atitit.prototype-base class-based  基于“类” vs 基于“原型”
  • 原文地址:https://www.cnblogs.com/liushubao/p/7454816.html
Copyright © 2011-2022 走看看