python_day06_数据类型(数字、字符串、列表)与内置操作

学习方法
#一:基本使用 用途 定义方式 常用操作+内置的方法 #二:该类型总结 存一个值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.3split(切分)

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

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\tu\tf\tf\ty".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)

5.该类型总结

5.1存一个值或者多个值

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

5.2有序或者无序

    有序

5.3可变或者不可变

    可变

验证:
l=["A","P"]
print(id(l))
l[1]="hello"
print(id(l))

猜你喜欢

转载自www.cnblogs.com/Smart1san/p/9112712.html
今日推荐