zoukankan      html  css  js  c++  java
  • 【0802 | Day 7】Python进阶(一)

     

    写在开篇:

    可变:变量值发生改变,id地址不变【在原来的基础上】

    不可变:变量值发生改变,id地址改变【开辟新的空间】

    数字类型的内置方法

    数字类型分为整型和浮点型。

    一、整型内置方法(int)

    用途:年龄、id、级别等

    定义:可以使用int( )方法将纯数字的字符串转为十进制的整型

    age = 19
    age = int(10)
    print(type(age))
    ​
    #<class 'int'>
    x = int('111')
    print(type(x))
    ​
    #<class 'int'>
    x = int('11.1')
    print(x)
    ​
    #报错,int(字符串需为整数)

    常用操作+内置方法:算术运算+比较运算

    有序or无序:

    不存在有序无序之说

    存值单个or多个:

    单个

    可变or不可变:

    不可变

     

    二、浮点型内置方法(float)

    用途:薪资、身高、体重

    定义:可以使用float()方法将纯数字的字符串转为浮点型数字

    age = 3.1
    age = float(3.1)
    print(type(age))
    ​
    #<class 'float'>
    x = float('111')
    print(x)
    print(type(x))
    ​
    #111.0
    #<class 'float'>
    x = float('11.1') #非纯数字的字符串 报错
    print(type(x))
    ​
    #<class 'float'>

    常用操作+内置方法:算术运算+比较运算

    有序or无序:

    无有序无序之说

    存单值or多值:

    单值

    可变or 不可变:

    不可变

     

    字符串类型内置方法

    一、字符串类型内置方法(str)

    • b'101':二进制编码的字符串

    • r' ':原生字符串,r会令字符串里的命令失效

    name = 'nick' 
    s1 = str(1.1)
    s2 = str([1,2,3])
    ​
    print(f's1:{s1},type:{type(s1)}')
    print(f's2:{s2},type:{type(s2)}')
    ​
    #s1:1.1,type:<class 'str'>
    #s2:[1,2,3],type:<class 'str'>

    常用操作+内置方法:常用操作和内置方法分为优先掌握,需要掌握和其他操作三个部分

    有序or无序:

    只要是有索引的,都是有序的,因此字符串是有序的

    存单值or多值:

    单值

    可变or不可变:

    不可变

     

    二、常用操作和内置方法

    优先掌握:
    1. 按索引取值

    2. 切片

    3. 长度len

    4. 成员运算in | not in

    5. 移除空白

    6. 切分split

    7. 循环

     

    1.索引取值
    mm = 'hello nick'print(f'索引为6:{mm[6]}')
    print(f'索引为-3:{mm[-3]}')
    ​
    #索引为6: n
    #索引为-3:i
    2.切片
    mm = 'hello nick'print(f'切片3到最后:{m[3:]}')
    print(f'切片3-8:{mm[3:8]}')
    print(f'切片3-8,步长为2:{mm[3:8:2]}')
    print(f'切片3-最后,步长为2:{mm[3::2]}')
    ​
    print('
    **了解知识点**')
    print(f'切片所有: {mm[:]}')
    print(f'反转所有: {mm[::-1]}')
    print(f'切片-5--2: {mm[-5:-2:1]}')
    print(f'切片-2--5: {mm[-2:-5:-1]}'
          
          
    #切片3-最后: lo nick
    #切片3-8: lo ni
    #切片3-8,步长为2: l i
    #切片3-最后,步长为2: l ik
    #**了解知识点**
    #切片所有: hello nick
    #反转所有: kcin olleh
    #切片-5--2:  ni
    #切片-2--5: cin  
    3.长度len
    mm = 'hello nick'
    print(len(mm))
    ​
    #10
    4.成员运算in or not in
    mm = 'my name is nick, nick handsome'print(f"'nick' in mm:{'nick' in mm}")
    print(f"'jason' not in mm:{'jason' not in mm}")
    print(f"not 'jason' in mm:{not 'jason' in mm}")
    ​
    #'nick' in msg: True
    #'jason' not in msg: True
    #not 'jason' in msg: True
    5.移除空白strip( )
    name = '&&&n ick'print(f"name.strip('&'):{name.strip('&')"})
    print(f"name:{name}")
    ​
    pwd = input('password: ')
    if pwd.strip() == '123':
        print('密码输入成功')
        
    print(f"'*-& nick+'.strip('*-&+'):{'*-& nick+'.strip('*-& +')}")   
    ​
    #name.strip('&'): n ick
    #name: &&&n ick
    #password: 123   
    #密码输入成功
    #'*-& nick+'.strip('*-& +'): nick
    6.切分split
    info = 'nick:male:19'
    info_list1 = info.split(':')
    info_list2 = info.split(':',1)
    ​
    print(f'info_list1:{info_list1}')
    print(f'info_list2:{info_list2}')
    ​
    #info_list1:['nick', 'male', '19']
    #info_list2:['nick', 'male:19']
    7.循环
    mm = 'hello nick'
    for i in mm:
        print(i)
        
    #h
    #e
    #l
    #l
    #o
    #n
    #i
    #c
    #k
    需要掌握:
    1. lstrip&rstrip

    2. lower&upper

    3. startswith&endswith

    4. rstrip

    5. join

    6. replace

    7. isdigit

     

    1.lstrip( )和rstrip( )
    name = '&&nick&&'
    print(f"{name.lstrip('&')}")
    print(f"{name.rstrip('&')}")
    ​
    #nick&&
    #&&nick
    2.lower( )和upper( )
    name = 'Nick Chen'
    print(f'{name.lower()}')
    print(f'{name.upper()}')
          
    #nick chen
    #NICK CHEN
    3.startswith( )和endswith( )
    name = 'Nick Chen'
    print(f'{name.startswith("Nick")}')
    print(f'{name.endswith("chen")}')
    ​
    #True
    #False
    4.rsplit( )
    info = 'nick:male:19'
    print(f"{info.rsplit(':'),1}")
          
    #['nick:male','19']    
    5.join( )
    lis = [1,2,'19']
    print(f"{':'.join(lis)}")
    ​
    #报错 数字和字符串不可拼接
    ​
    lis = ['nick','male','19']
    print(f"{':'.join(lis)}")
    ​
    #nick:male:19
    6.replace( )
    name = 'nick shuai'
    print(f"{name.replace('shuai','handsome')}")
    ​
    #nick handsome
    7.isdigit( )
    salary = '111'
    print(salary.isdigit())
    ​
    salary = '111.1'
    print(salary.isdigit())
    ​
    #True
    #False
    age = input('age: ')
    if age.isdigit():
        age = int(age)
        
        if age < 18:
            print('小姐姐:)')
        else:
            print('阿姨好:)')
    else:
        print(f'你的年龄是这个{age}?')
        
    #结果一:
    age: 18 
    阿姨好:)
    #结果二:
    age: 啊?
    你的年龄是这个啊??   
    其他操作:
    1. find | rfind | index |rindex | count

    2. cente | ljust |rjust | zfill

    3. expandtabs

    4. captalize | swapcase | title

    5. is 系列

     

    1.find( )、rfind( )、index( )、rindex( )、count( )
    mm = 'my name is tank, tank shi sb, hha'
    print(f"{mm.find('tank')}")
    print(f"{mm.find('tank',0,3)}") #从0开始索引,3结束索引,找不到返回-1
    print(f"{mm.rfind('tank')}")
    print(f"{mm.index('tank')}")
    print(f"{mm.rindex('tank')}")
    print(f"{mm.count('tank')}")
    ​
    #11
    #-1
    #17
    #11
    #17
    #2

    注意:find找不到返回-1,index找不到直接报错

    2.center( )、ljust( )、rjust( )、zfill( )
    print(f"{'info nick'.center(50,'*')}")  #放置中央
    print(f"{'info nick'.ljust(50,'*')}")   #调整*居左
    print(f"{'info nick'.rjust(50,'*')}")   #调整*居右
    print(f"{'info nick'.zfill(50)}")  #填充0居右
    ********************info nick*********************
    info nick*****************************************
    *****************************************info nick
    00000000000000000000000000000000000000000info nick
    3.expandtabs( )
    print(f"a\tb\tc: %s" %('a	b	c	'))
    print(f"'a\tb\tc'.expandtabs(32): %s" %('a	b	c	'.eapandtabs(32))
          
    #a	b	c: a  b   c   
    #'a	b	c'.expandtabs(32):a                   b                    c                    

    注意:’ '加在‘ ’、' '等之前则命令失效,成为普通字符串

    4.captalize( )、swapcase( )、title( )
    name = 'nick handsome sWAPCASE'
    print(f"name.capitalize(): {name.capitalize()}") #首字母大写,用在段落开始
    print(f"name.swapcase(): {name.swapcase()}")  # 大小写互转
    print(f"name.title(): {name.title()}")  #所有单词首字母大写
    ​
    Nick handsome sWAPCASE
    NICK HANDSOME Swapcase
    Nick Handsome Swapcase
    5.is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit( )即可)
    • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。

    • isdigit(): 如果字符串只包含数字则返回True,否则返回False。(重要)

    • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。

    num = "1"  #unicode
    num.isdigit()   # True
    ​
    num = "1" # 全角
    num.isdigit()   # True
    ​
    num = b"1" # byte
    num.isdigit()   # True
    ​
    num = "IV" # 罗马数字
    num.isdigit()   # True
    ​
    num = "" # 汉字
    num.isdigit()   # False
    ===================
    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    False: 汉字数字
    Error: 无
    ​
    ================
    import unicodedata
    ​
    unicodedata.digit("2")   # 2
    ​
    unicodedata.digit("2")   # 2
    ​
    unicodedata.digit(b"3")   # TypeError: must be str, not bytes
    ​
    unicodedata.digit("")   # ValueError: not a digit
    ​
    unicodedata.digit("")   # ValueError: not a digit
    #"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"
    6.is其他
    • salpha(): 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。

    • islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。

    • isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False。

  • 相关阅读:
    重学Docker
    rabbitmq基本知识了解
    rabbitmq之mq协议了解
    微信公众平台开发教程(三) 基础框架搭建
    微信公众平台开发教程(二) 基本原理及消息接口
    微信公众平台开发教程(一) 微信公众账号注册流程
    微信公众平台开发教程(十) 订阅号与服务号的区别
    vue cli3.0快速搭建项目详解(强烈推荐)
    vue 3.0 初体验 (项目搭建)
    手把手教你vue3.0项目搭建
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11290302.html
Copyright © 2011-2022 走看看