Python   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了数据类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、变量

变量从字面意思可以理解成:是变化的量。

1.1 定义变量

name = “Hello world”   #定义一个字符变量,name 是变量名 “Hello world”是变量值
age =15   # 定义一个整形变量
name,age = “alex”,12 # 两个变量
out=[]    #定义一个空列表变量

变量的作用: 用来保存数据,方便后面要使用。

1.2 变量的组成

变量的组成分为以下三个部分:

  1. 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
  2. 赋值符号:赋值
  3. 变量值:存放数据,用来记录现实世界中的某种状态。

1.3 变量绑定

1 var = 1
2 print (var)
3 var  = "abc"
3 print (var)

注:这里的var = xxxx不叫变量赋值,而叫变量绑定,python维护了一个符号表(变量名)以及符合对应的值,这个对应关系就叫做绑定,一个符号可以绑定任意类型的值。

我们给变量指定值的过程叫做赋值。

name1 = "SupeRMAN"
name2 = name1
name1 = "BatMan"
print(name1,name2)  # 这里输出的name1和name2的内容分别是什么?

 

数据类型

实现过程:

程序是运行在内存中的,我们执行 name1=“SupeRMAN”时,这是在内存中开辟了一块空间,并将这块空间的内存地址赋值给name1; 在执行name2=name1的时候,将name1中的内存复制给name2,也就是说,name2中的内存地址也是存储“SupeRMAN”的内存空间的内存地址; 在执行name1= “BatMan”,此时在内存中另外在开辟一块空间存储“BatMan”,将存储“BatMan”的内存空间的地址赋值给name1,。所以在最后执行 print(name1,name2)的时候,就会出现你看到的结果。 

1.4 变量的命名规则:

变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
区分大小写
关键字不能声明为变量名

    from keyword import kwlist
    print(kwlist)

约定俗成的一些规则:  变量名称应该有意义、不要用中文做变量名、不要使用拼音

二、 bool变量

2.1 bool值

bool型变量一共两个值,true与false

数据类型

 1 #下面的输入全部返回false。
 2 print(bool(NonE))
 3 print(bool(()))
 4 print(bool([]))
 5 print(bool({}))
 6 print(bool(""))
 7 print(bool(0))
 8 
 9 #然这些值在条件运算中会当做false,但是本身不等于false。
10 print(True and "")
11 print(not "")
12 print(false == "")
13 print(false == 0) #0除外,bool类型的内部表示就是int类型。

数据类型

2.2 bool运算

1 print(0 < 1 < 10)
2 print(0 < 1 and 1 < 10)
3 print(not(0 > 1 > 10))
4 print(not(0 > 1 or 1 > 10))

三、整型(int)

3.1 作用

表示人的年龄、各种号码、级别

3.2 定义

1 age = 18      # age=int(18)
2 print(id(agE))  #打印变量age地址
3 print(type(agE))  #打印变量age数据类型
4 print(a)
1 4530100848
2 <class 'int'>
3 18

3.3 如何用

加减乘除、逻辑判断(大于、小于)

四、浮点型(float)

4.1 作用

表示身高、体重、薪资

4.2 定义

1 salary = 2.1  # salary=float(2.1)
2 print(id(salary))
3 print(type(salary))
4 print(salary)
1 4569240656
2 <class 'float'>
3 2.1

4.3 如何用

加减乘除、逻辑判断(大于、小于)

五、字符串(str)

5.1 字符串定义

数据类型

str1="Hello word"

数据类型

5.2字符串中的符号

字符串String:单引号‘’与双引号“”无区别,特别注意字符串中也含有单引号就要使用双引号进行定义。

a="Let's go"

如果特别长的字符串换行时,需要加“\”符号.特别长的字符串也可以使用三引号‘’‘ ’‘’

1 str1='Hello \
 word!'
2 str2="I'm fine,\
 and you?"
3 str3='''this
is
book'''

5.3字符串切片

 

5.4关键字 in

 

5.5字符串拼接

字符串拼接共有三种方式:+符号,join函数和格式化拼接。

5.5.1 +符号

a="123"
b='abc'
c=a+b
123abc

此方法占内存,效率低,不推荐使用。

5.5.2 join函数

1 a="123"
2 b='abc'
3 d="44"

4 d="".join([a,b,d]) #“123abc44”   拼接字符串 5 d="***".join([a,b]) #"123***abc***44"   拼接字符串

5.5.3 字符串格式化

数据类型

1 print "% 10s" % "----"
2 
3 print '''
4 %(titlE)s
5 %(body)s
6 ''' % {"title": "标题", "body": "内容"}

数据类型

print("%s的年龄是%s岁"%'小明'10)  #小明的年龄是10岁

5.6 字符串的内置方法

count:统计元素个数

1 st="Hello kitty"
2 print(st.count('l')) # 2

capitallze:将字符串首字母大写

1 st="Hello kitty"
2 print(st.capitallze()) # Hello Kitty

center:返回一个指定宽度10的居中字符串,其他用-填充

1 st="Hello kitty"
2 print(st.center(20,"-")) #----Hello kitty----- 

其他形式例:

st="Hello kitty"
print(st.endswith("ty") )    #True  判断以某个内容结尾
print(st.startswith("he") )  #True  判断以某个内容开头
print(st.expandtabs(tabsize=8))     #把字符串中tab键(\n)转换为几个空格
print(st.find('t'))             #查找第一个元素并将索引值返回

st="Hello kitty {name} is {agE}"
print(st.format(name="buqin",age=37))      #Hello kitty buqin is 37,格式化输出
print(st.format_map('name':'buqin','age':'37')) #同上
print(st.index("t"))            #与find一致,唯一区别在于若查找没有,则不会输出false,而是会报错
print(st.isalnum())         #判断字符串中至少有一个字符并且所有字符都是字母或数字,返回true,否则false
print(st.isdecimal())       #判断字符串是否是十进制数
print('22255'.isdigit())         #判断对象是否只包含数字,返回true,否则false
print('222ab'.isnumeric())      #false,同上
print('222ab'.isidentifier())   #false  判断对象命名是否是非法变量

print('222ab'.islower())            #true   判断字符串中包含至少一个区分大小写的字符,并且这些区分大小写的字符都是小写的,返回true,否则false
print('222Ab'.islower())            #false

print('222AA'.isupper())    #true   判断字符串中包含至少一个区分大小写的字符,并且这些区分大小写的字符都是大写的,返回true,否则false
print(' A'.isspace())        #false,判断是否只包含空白
print("@H_755_159@my title".istitle())     #判断字符串是否标题化(每个单词首字母大写),是则返回true,否则false
print("@H_755_159@my title".lower())       #将全部字母变小写
print("@H_755_159@my title".upper())       #将全部字母变大写
print("@H_755_159@my title".swapcase())    #将小写变大写,将大写字母变小写
print("@H_755_159@my title".ljust(20,'+'))     #My title++++++++++++
print("@H_755_159@my title".rjust(20,'+'))     #++++++++++++@H_627_134@my title
print("   My title\n um".Strip())       #删除字符串左右两侧的空格等制表符或指定的字符
print("   My title\n um".rStrip())  #删除字符串左两的空格等制表符或指定的字符
print("   My title\n um".lStrip())  # 删除字符串左侧的空格等制表符或指定的字符

六、列表(list)

6.1 定义:

在[]内用逗号分隔开任意类型的值。

1 list1 = 'read'
2 list2 = [list1, 'bike', 10]
3 print(id(hobby_list))
4 print(type(hobby_list))
5 print(hobby_list)
1 4558605960
2 <class 'list'>
3 ['read', 'bike', 10]

6.2 列表的处理应用(增删改查)

6.2.1查:切片

a=["元素1","元素2","元素3","元素4","元素5","元素6"]

print(a[0]) #元素1        读取第一个元素
print(a[1:3]) #元素2,元素3    读取第二个到第三个元素
print(a[2:]) #元素3 元素4 元素5 元素6       从第三个元素取到最后
print(a[2:-1]) #元素3 元素4 元素5         取从第三个到倒数第二个
print(a[2::-1]) # 元素3', '元素2', '元素1'    a[star,end,step] step步长有方向

print(a[2:0:-1]) #'元素3', '元素2'
a=[[[1,2,3],4],66,7]
print(a[0][0][1])   #2

赋值

time=['123',8]
a,b=time        #a='123',b=8

解压缩

1 name = ['nick', 'ege', 'javan']
2 x = name[0]
3 y = name[1]
4 z = name[2]
        #2-4行可以改写成  x, y, z = name,结果不变
5 print(f'x:{x}, y:{y}, z:{z}')
6 x, _, z = name    #默认舍去中间_数据
x:nick, y:ege, z:javan

判断元素是否在列表

a=["元素1","元素2","元素3","元素4","元素5","元素6"]
print(a.count("元素7"))     #0

print("元素7" in a)     #false

判断是否为列表

a=[2,5,6,34,8]
type(a) is tist #True

计数count

a=["元素1","元素2","元素3","元素4","元素5","元素6"]
a.count("元素2") #1 a列表中元素2出现的次数 count计算某元素出现次数

index 根据内容找位置

a=["a","b","c","d"]
print(a.index("b")) #1 读取b在a的位置,若列表中含有两个以上的b元素,只能读取第一个b元素的位置

reverse 将顺序倒置,无返回值

a=["元素1","元素2","元素3","元素4","元素5","元素6"]
a.reverse()
print(a) #['元素6', '元素5', '元素4', '元素3', '元素2', '元素1']

sort 排序,无返回值

a=[2,5,6,34,8]
a.sort() #相当于a.sort(reverse=falsE),从小到大顺序
print(a) #[2, 5, 6, 8, 34]

b=sorted(a) #从小到大顺序与a.sort()一样

a=[2,5,6,34,8]
a.sort(reverse=TruE) #从大到小顺序
print(a) #[34, 8, 6, 5, 2]

6.2.2 增  append追加 insert插入

a=["元素1","元素2","元素3","元素4","元素5","元素6"]

a.append("abc") #默认插入到最后一个位置
print(a)        #"元素1","元素2","元素3","元素4","元素5","元素6","abc" 

a.insert(1,"插入1") # 插入到任何一个位置
#print(a)            #"元素1","插入1","元素2","元素3","元素4","元素5","元素6","abc"

extend

a=[1,2,3]
b=[4,5,6]
a.extend(b) #将列表b融合到a中,不改变b内容
print(a)        #[1,2,3,4,5,6]
print(b)        #[4,5,6]

6.2.3 改

a=["元素1","元素2","元素3","元素4","元素5","元素6"]
a[2]="修改3" 
print(a) #['元素1', '元素2', '修改2', '元素4', '元素5', '元素6']
a[1:3]=["修改2","修改3"] #若赋值列表中少一个元素,则会删除该位置元素
print(a) #['元素1', '修改2', '修改3', '元素4', '元素5', '元素6']

6.2.4 删

a=["元素1","元素2","元素3","元素4","元素5","元素6"]

a.remove("元素1")   #只能删除对应内容
a.remove(a[1])   #删除a[1]对应内容
a.pop(1)       #删除列表对应1处的内容,并返回该删除元素的值,若不指定则删除最后一个

del a[0]       #直接删除所选内容
del a        #删除列表

七、元组(tuple)

 不可变的元祖,有人称为只读列表

1 print (1, 2) #元祖以小括号形式声明。
2 print (1,) #一个元素的元祖。

与列表相比,元组无法修改,只能读取,读取与列表一样。

当元组中只有一个元素时,建议在第一个元素后面加“,”,如a=(1,)

八、字典(Dict)

8.1 字典定义

在python中,使用{}定义字典,字典中键-值对用冒号间隔,表现形式为{key:value,key2:value}

1 user_info = {'name': 'nick', 'gender': '@H_755_159@male', 'age': 19}}

字典为python中唯一一种映射关系,其内容是无序的。
字典中键是唯一的,只能是不可变类型数据(整型,字符串,元组),值不是唯一的,可以是元组、列表、字符串、字典等等

user_info = {'name': 'joy', 'age': 19,'friden':{'name':'Ari','like':[‘draw’,‘write’]}}}

8.2字典的使用

字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。

user_info = {'name': 'joy', 'age': 19,'friend':{'name':'Ari','like':[‘draw’,‘write’]}}}
print(user_info['name'])    #joy
print(user_info['friend']['like'][0])        #draw

8.3字典的处理应用

8.3.1 删除:

clear:清空字典

user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}
user_info.clear() #{}

del:删除字典中指定键值对

user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}
del user_info["name"] #{ 'gender': '@H_755_159@male', 'age': 19}}
del user_info #删除整个字典

@H_244_1976@pop:删除字典中指定键值对,并返回该键值对的值

user_info = {'name': 'nick', 'gender': '@H_755_159@male', 'age': 19}}
ret=user_info.pop(Name)         #{ 'gender': '@H_755_159@male', 'age': 19}},返回删除值    

@H_244_1976@popitem:随机删除某键值对,并返回元组方式的值

user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}
a=user_info.popitem()   #随机删除一项键值对,无意义。

8.3.2 创建字典:fromkeys

1 Dic6=Dict.fromkeys(["host1","host2","host3"],["test1","test2"])
2 print(Dic6)         #{"host1":["test1","test2"],"host2":["test1","test2"],"host3":["test1","test2"]}        

#注:如此定义字典,当修改字典中某一键对应的值时,其他键也会随之改变。如:Dic6["host3"][1]="text3" 

8.3.3 排序:sorted

1 user_info = {'name': 'nick', 'gender': '@H_755_159@male', 'age': 19}}
2 print(sorted(user_info))         #按键排序
3 print(sorted(user_info.items()))     #同上
4 print(sorted(user_info.values()))     #将值进行排序

8.3.4 把指定字典的键/值对更新到当前字典中:update

1 Dict1 ={'姓名':‘小光’,'年龄':20}
2 Dict2 ={'成绩':'优良'}
3 print(Dict1.update(Dict2))        #{'姓名':‘小光’,'年龄':20,'成绩':'优良'}

8.3.5 字典遍历:

回忆列表遍历:for i in 列表,字典与之类似。

1 user_info = {'name': 'nick', 'gender': '@H_755_159@male', 'age': 19}}
2 
3 for i in user_info:
4 print(i)                         #返回为字典键值
5 print(user_info[i])         #遍历所有键和值            
1 for i,v in user_info.item():
2 print(i,v)         #遍历所有键和值,中间有转换,效率没有上一种高

 九、集合

集合set():元素必须是唯一的

s=[[1,2],'ally','wull']
s1=set('ally wu') #创建集合
print(s1) #{'a','l','y',' ','w','u'},无序的

最大作用去重。

set可变集合
frozenset不可变集合

s=[1,'a','b']
s1=set(s)
Dic={s:'123'}

访问集合

s1=set('allywu')
print(a in s1) #True
print(b in s1) #false
for i in s1:
print(i) #a l y w u,利用迭代器

 

更新集合add,updata,remove

s1=set('alywu')
s1.add('@H_755_159@mm')
print(s1) #{'a','l','y','@H_755_159@mm','w','u'}
s1=set('alywu')
s1.updata('op')
print(s1) #{'a','l','y','o','p','w','u'}
s1=set('alywu')
s1.remove('l') #删除
print(s1) #{'a','y','w','u'}

del删除整个集合

集合操作符
in ,not in(判断元素是否在集合内,返回True和false)
集合等价与不等价(==,!=
子集(<),超集(>)
联合(|)
交集(&)
查集(-)

大佬总结

以上是大佬教程为你收集整理的数据类型全部内容,希望文章能够帮你解决数据类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据类型