zoukankan      html  css  js  c++  java
  • py06_数据类型(数字、字符串、列表)与内置操作

    学习方法
    #一:基本使用 用途 定义方式 常用操作+内置的方法 #二:该类型总结 存一个值or存多个值 只能存一个值 可以存多个值,值都可以是什么类型 有序or无序 可变or不可变 !!!可变:值变,id不变。 !!!不可变:值变,id就变。

    一、数字类型

    1.整型(int)

    1.1定义:age=10  #age=int(10)

    1.2用途:年龄、号码

    x=int("222")  #int只能将纯数字的字符串转成十进制的整型
    x=int("222.11")   #不能转换,因为中间的点,python会默认是一个字符,只能转换纯数字
    print(type(x))

    1.3常用操作:算术运算与比较运算

    1.4内置方法:无

    1.5该类型总结:

    1.5.1存一个值or多个值

    只能存一个值

    1.5.2有序or无序

    只是一个值并无有序和无序这一说法

    1.5.3可变or不可变

    可变或者不可变类型的总结:
        可变指的是改变"原值",即在"原值"基础上进行修改
        可变类型的底层原理:在id不变的情况下,值可以改变
        不可变类型的底层原理:值若改变,id也跟着改变

    所以,整型(int)是不可变数据类型

    验证方法:
    age=18
    print(id(age))
    age=20
    print(id(age))    #可发现值改变,id也跟着改变

    1.6了解(⭐⭐):

    1.6.1长整型Long,只有在python2中才有长整型号

    1.6.2复数complex

    x=1-2j
    print(x.real)       #1                               #实数
    print(x.imag)     #-2                              #虚数
    print(type(x))    #<class "complex">       

    2.浮点型

    2.1定义:

    height=178.5  #height=float(178.5)

    n=float("178.5")

    2.2用途:

    身高、体重、薪水

    2.3常用操作:

    算术运算与比较运算

    2.4该类型总结:

    跟整型(int)一样

    二、字符串

    1.定义:

    name="ezreal" #name=str("ezreal")
    x=str(1)
    y=str(1.5)
    z=str([1,3,2])
    n=str({"age":18})
    print(type(x))
    print(type(y))
    print(type(z))
    print(type(n))
    总结:整型、浮点型、列表、字典都可以当成字符串中的内容

    2.用途:姓名、住址、单个的兴趣爱好

    3.常用操作+内置方法:

    (⭐⭐⭐⭐⭐)优先掌握的操作(⭐⭐⭐⭐⭐)

    3.1取值-正向取值,反向取值(字符串中的信息只能取,不能更改)

    # 取值跟切片一样(顾头不顾尾)
    names="Ezreal Annie" print(names[2]) print(names[:-1]) print(names[2:4]) print(names[0:8:2]) print(names[2::2]) #了解 print(names[::-1]) #把字符串的字符反过来取 print(names[0:]) print(names[-3:-6:-1]) #从倒数第三个取到倒数第6个并正向输出

    3.2 strip(移除空白)

    name="      L   uffy     "
    print(name.strip())   #移除两边的空格,中间的空格无法移除
    name="---Luffy!@#$%---"
    print(name,strip("-%$@#!"))  #可以把字符串两边的符号写进.strip()的括号当中,顺序任 
                                        #意,可以去除两边的符号,即结果为Luffy
    name="******Luffy*******"
    print(name.lstrip("*"))   #只去除左边的"*"
    print(name.rstrip("*"))   #只去除右边的"*"
    
    用途:
    在用户输入信息时,可以使用strip来去除用户误输入的空格
    name="Luffy"
    inp_name=input("username").strip()
    if inp_name==name:
       print("welcome")

    3.3 split(切分)

    msg="Luffy:age:18:male:sunshine"
    print(msg.split(":"))  #把上面的字符串以:为分割,切分成一个列表                            
                                  #["Luffy","age","18","male","sunshine"],其中列表中的每个元素 
                                  # 都是字符串类型的
    print(msg.split(":",2))  #后边的2表示切分次数,以:为分割,分两次,即
                                      #["Luffy","age","18:male:sunshine"]

     注意:spilt 默认分割的是空格(space)、换行符( )和制表符(即TAB  )

    4.字符串的长度

    names= "Ezreal"
    print(len(names))

    5.成员运算(in 和 not in)

    names= "Zed is a assasin "
    print("is" in names)  #  True
    print("ass" not in names)   # False

    7.循环

    msg="python"

    for i in msg:

        print(i,type(i))     #把每个字符都切出来,类型均为str

    8.需要掌握的操作(⭐⭐⭐⭐)names="Ezreal Zed"1.strip、lstrip、rstrip#同上3.22.lower、upper

    print(names.lower()) #默认把字符串中的所有大写全部改成小写
    3.startswith、endswith
    print(names.startswith("E")#判断字符串是否以"E"开头
    4.formatprint("{}{}{}".format(A,B,C))
    print("{1}{0}{1}".format(name,age,32))   #以name,age,32各自的索引,对应前边{}索引值依次传进去
    print("{name}{age}{sex}".format(name=Ezreal,sex=male,age=99))  #打破位置的限制,仍可为指定的参数传值
    5.split#同上3.3
    6.join  #只能将元素全为字符串的列表拼成一个大的字符串   #通常与split搭配使用
    names="luffy,brooke,sauro,namy"
    l=names.split(":") #切成列表
    print(l) #["luffy",brooke",sauro","namy"]
    new_names="*".join(l) #等于用某种符号将列表拼成字符串 "*".join(l)其中单引号里边的符号可是任意字符
    print(new_names)
    7.replace
    name="Luffy"
    print(name.replace("f""F",1))#后面的数字表示替换一个 8.isdigit#判断字符串中的数字是否纯数字,不可判断浮点型数字

    9其他操作(了解⭐⭐)

    9.1  find,rfind,index,rindex,count

    1.find,rfind,index,rindex,count      #找索引和计数
    msg="My name is Luffy,Luffy is king"
    print(msg.find("ki"))
    print(msg.find("H"))   #找不到时会返回-1,当不确定或者不知道要找的内容
                                      #是否在这里时用find
    
    print(msg.index("na"))
    print(msg.index("H")) #找不到会报错,当已确定我们要找的内容在里边时可以用index
    
    print(msg.count("is",0,13))  #从索引为0-13的字符当中计数is的数量
    View Code

    9.2 center,ljust,rjust,zfill

    print("Luffy".center(9,"-")) #计算Luffy字符的个数,若不够center中的指定数字,在其两 
                                      #端添加字符-,若center中数字为奇数,则在其左端家的-会比右边 
                                     #多一个,若为偶数,则雨露均沾
    print("Luffy".ljust(10,"*"))#类似与center,但是只在左边添加字符*,也就是右对齐
    print("Luffy".rjust(10,"*"))#跟ljust一样
    print("Luffy".zfill(50))   #类似与center,但是只在左边以0补齐
    View Code

    9.3 expandtabs

    print("L	u	f	f	y".expandtabs())  #默认是一个tab缩进,可为其指定空格数
    View Code

    9.4 capitalize,swapcase,title

    print("my name is Luffy".capitalize())  #首字母大写
    print("my Name is Luffy".swapcase())  #大小写反转
    print("my name is Luffy".title())           #变成标题
    View Code

    9.5 is数字系列

    num1=b"5"  #bytes
    num2=u"5"  #unicode,python3中无需加u,默认就是unicode
    num3=""   #中文繁体
    num4=""   #罗马数字
    
    isdigit():bytes,unicode
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    pirnt(num4.isdigit())
    
    isdecimal():unicode
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())
    
    is.numberic:unicode,中文,罗马
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())
    View Code

    9.6  is其它

    print("fhskf739842".isalnum())  #判断是否数字+字母
    print("fasdf".isalpha())              #判断是否字母
    print("Gum".islower())
    print("fsaf".issupper())
    print("hello".isspace())
    print("my name is Luffy".istitle())
    View Code

    10 该类型总结

    10.1 存一个值or存多个值

           只能存一个值

    10.2 有序or无序 

           有序,有索引

    10.3 可变or不可变

           不可变

    验证:
    name="Luffy" print(id(name)) name="Sauro" print(id(name))

    三、列表

    1.作用:多个爱好,多门课程

    2.定义:

    []内可以有多个任意类型的值并用逗号分隔开

    course=["mathematics","english","physical","biological"]#本质course=list([...])
    l=list("Luffy")   #list内只能跟能够被for循环遍历的数据类型
    
    l=list({"a":6,"b":9})
    print(l)   # ["a","b"]

    3.(⭐⭐⭐⭐⭐)优先掌握的操作(⭐⭐⭐⭐⭐)

    3.1 按索引存取改值

    area=["shanghai","beijing","tianjin","chongqing"]
    #取值
    print(area[3])  
    # 存值
    area[4]="xiamen"
    print(area)
    #更改值
    area[1]="zhejiang"
    print(area)

    3.2 切片(与字符串的切片类似)

    hobbies=["read","play","football","sleep"]
    print(hobbies[1:3])

    3.3 长度(与字符串类似)     #输出字符串的个数

    phone=["apple","smartisan","huawei","samsung","zhongxing"]
    print(len(phone))

    3.4 成员运算in 和not in 

    animals=["dog","cattle","rabbit","snake"]
    print("snake" in animals)

    3.5追加            #追加的字符串放在列表的最后一位

    animals=["snake","horse","sheep","pig"]
    print(animals.append("rabbit"))
    print(animals.append("mouse"))

    3.6 删除

    animals=["snake","horse","sheep","pig"]
    del animals[0]      #万能删
    
    print(animals.pop(1))    #pop()接收的是索引,无参的情况下删除的是最后一个元素, 
                             #pop() 存在返回值,返回的是删除的元素值
    
    animals.remove("horse")) #单纯的删掉,remove()的参数是具体的元素值,而不是索引
    anmals.remove(animals[0])#使用 remove 删除该索引上的元素值
    print(animals)

    3.7 循环

    animals=["horse","mouse","cattle","dog"]
    for animal in animals:
        print(animal)

    4 需要掌握的操作(⭐⭐⭐⭐⭐)

    animals=["cattle","mouse","tiger","sheep","dragon",6,9.9,"mouse","mouse"]
    1.insert
    print(animals.insert(2,"snake"))#.insert(2,"snake")其中"snake"是要插入的字符串
                                               #"snake"在新的animals中索引为2
    print(animals)
    
    2.index,count
    print(animals.index("mouse"))
    print(animals.count("mouse"))
    
    3.clear
    print(animals.clear())   #清空列表内的所有值
    
    4.name=animals.copy()
    print(name)
    
    5.extend
    animals.extend([1,2,3])              #将1,2,3放到animals元素的后面
    print(animals)                            #extend:延伸
    
    6.reverse
    animals.revers()                   #列表翻转,即将列表中的元素反过来排序
    print(animals)
    
    7.sort
    num=[1,8,5,-4,2,5]
    num.sort(reverse=True)          #排序,将列表中的数据从小到大排序
    print(num)
    # 注意:num.sort()是没有返回值的
    #   new_num=num.sort()这个的返回值是None

    5.该类型总结

    5.1存一个值或者多个值

         可以存多个值,值可以是任意类型的数据

    5.2有序或者无序

        有序

    5.3可变或者不可变

        可变

    验证:
    l=["A","P"]
    print(id(l))
    l[1]="hello"
    print(id(l))
  • 相关阅读:
    Web用户控件
    ASP.Net状态管理读书笔记--思维导图
    网站教学 提纲总结到ajax结束后面还有
    ajax文本空输入显示用户信息
    Ajax 下拉列表联动显示
    用Ajax删除的做法
    Findora:引入保密性和可审计的区块链
    角逐云计算的“新黄金十年”,谁将胜出?
    区块链世界的中心应该是什么?
    边缘计算2.0时代存在哪些挑战?
  • 原文地址:https://www.cnblogs.com/Smart1san/p/9112712.html
Copyright © 2011-2022 走看看