目录
Python3 的六个标准数据类型:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
Python 的变量不需要声明,每个变量在使用前必须赋值,变量赋值了才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
一、Number(数字)
Python3 支持 int、float、bool(0/1)、complex(复数)。
1、查看数字类型的常用函数
type(变量) isinstance(变量名,数据类型)
num_class = 180
# 查看变量类型
print(type(num_class), end=' ')
print(num_class)
zx = 9.3
print(type(zx), end=' ')
print(zx)
# 判断变量是否为某个数据类型,如果是指定某个类型则返回True,否则返回False
print(isinstance(num_class, int))
<class 'int'> 180
<class 'float'> 9.3
True
2、数字运算符:+ - / * ** // %
print("8/3 =", 8 / 3) # 整数除法返回浮点型
print("8/2 =", 8 / 2)
print("8//3 =", 8 // 3) #整数除法返回向下取整后的结果
print("8//3.00 =", 8 // 3.00)
print("3 ** 4 =", 3 ** 4) #a**b a的b次幂
print("8 % 3的余数", 8 % 3) # %操作符返回除法的余数
8/3 = 2.6666666666666665
8/2 = 4.0
8//3 = 2
8//3.00 = 2.0
3 ** 4 = 81
8 % 3的余数 2
3、常用的数字类型函数
abs()取数字的绝对值
ceil(x)返回数字的上入整数 ceil(4.1) 返回 5
floor(x) 返回数字的下舍整数 floor(5.4) 返回5
value1 = math.floor(5.6) #下舍整数
value2 = math.ceil(4.01) #上入整数
value3 = abs(-3) #绝对值
print(value1, value2, value3) # 5 5 3
round(x,n)四舍五入 n保留几位小数,实准确的说是保留值将保留到离上一位更近的一端。
二、String(字符串)
1、定义:Python中的字符串用单引号/双引号/三个单/双引号括起来
str1='123456'
str2="哈哈"
str3='""雪娥""'
str4='''苞娜'''
print(str1,str2,str3,str4) #123456 哈哈 ""雪娥"" 苞娜
2、python字符串支持截取
切片语法格式: 变量名称[开始索引位置:结束的索引位置:步长 ]
根据索引值区间取值:会包含开始索引值,不会包含结束索引位置的值(含头不含尾/左闭右开)
索引值从左往右 从0开始,依次+1
索引值从右往左 从-1开始,依次-1
"""根据索引区间取值"""
str1 = '123456'
print("str1[0:6]", str1[0:6])
# 字符串最后的一个字符
print("str1[-1]", )
# 倒数第二
print("str1[-2]", str1[-2])
# 从某个位置开始取到末尾
print("str1[1:]", str1[1:])
# 隔一个字符从左往右取值
print("str1[0::2]", str1[0::2])
str4 = """MS221_NN"""
print(str4[-1::-2])
print(str4[::-1])
print(str4[::])
str1[0:6] 123456
str1[-1]
str1[-2] 5
str1[1:] 23456
str1[0::2] 135
N_2S
NN_122SM
MS221_NN
3、特殊的符号
特殊字符需要原字符输出 :
方式一: \ 转义
方式二:r/R
特殊的字符有哪些:\n \' \" \\ \t \000
str5 = R'\n'
str6 = r'\n'
print(str5, str6)
4、字符串运算符:+ * in not in
"""
+ 字符串的拼接
* 复制 复制2 *2
in 成员判断
not in
"""
str7 = "abc"
str8 = "edfg"
print(str7 * 3)
print('a' not in str8)
abcabcabc
True
5、字符串的格式化
"""
字符串格式化
格式化 方式一:
%s 字符串占位符
%d 整数占位符
%u 无符号整型
%f 浮点数字
方式二:
"""
name = "就这"
age = 18
print("欢迎" + name + ",工作年限:" + str(age))
print("格式化方式一:欢迎 %s,工作年限:%d" % (name, age))
# 格式化第二种方式
str9 = "格式化方式二:欢迎{1},工作年限:{0}".format(age, name)
print(str9)
# 格式化第三方式
str10 = f"格式化方式三:欢迎{name},工作年限:{age}"
print(str10)
欢迎就这,工作年限:18
格式化方式一:欢迎 就这,工作年限:18
格式化方式二:欢迎就这,工作年限:18
格式化方式三:欢迎就这,工作年限:18
1、string常见的内置函数
1)大小写转化函数
str13="abcdef123_"
print("转化为大写:",str13.upper())
# 转化为小写
lower=str13.lower()
# 首字母大写
cap=str13.capitalize()
print(lower)
print(cap)
2) 字符格式的判断
str13="abcdef123_"
print("是否字母或者数字:",str13.isalnum())
str14="言"
print("是否是字母或者中文:",str14.isalpha())
str15='123456'
print("是否为纯数字",str15.isnumeric())
3) 统计函数
str16 = "1234567abcd"
print(max(str16), end=" ")
print(min(str16), end=" ")
print(len(str16), end=" ")
4) 常见字符串处理函数
names="jeffery NN water"
value=names.find("NN",0,-1)
value1=names.find("NN",0,len(names))
print('名称:',value)
if value!=-1:
print('找到')
else:
print('没找到')
index=names.index("NN",0,-1)
print(index)
str17="helloworld"
new='-'.join(str17)
print(new) #h-e-l-l-o-w-o-r-l-d
newstr='h-e-l-l-o-w-o-r-l-d'
newlist=newstr.split('-')
print(newlist,end=" ")
print(type(newlist))
names2="jeffery NN water"
newlist2=names2.split(' ')
print(newlist2)
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'] <class 'list'>
['jeffery', 'NN', 'water']
names2="jeffery NN water"
new_replace=names2.replace("NN","MS221")
print("替换后的字符串:",new_replace)
str18=" abcdefg "
print(str18)
newstr=str18.strip()
print(newstr)
拓展:字符串练习题
三、List(列表)
1、什么是列表
list1=['list1','金炫廷','孙周延']
print(list1)
print(list1[-1])
list1[-1]='切片'
print(list1)
['list1', '金炫廷', '孙周延']
孙周延
['list1', '金炫廷', '切片']
4、删除列表元组或者列表 可以 pop remover()
del list1[-1]
print(list1)
list3=['abcdef']
del list3
5、list常用的运算符 + * in/not in
list1=['list1','金炫廷','孙周延']
new=["A",'B']*2
name211=list1+new
print(name211)
print('list1' in list1)
6、嵌套列表
list4=['01','02',['03','NN']]
#嵌套列表中NN ?
print(list4[-1][1])
7、list常见内置函数
list5=[1,2,3,4]
list5.append(5)
print(list5)
list5.extend([6,7,8,9])
print(list5)
list5.append([6,7,8,9])
print(list5)
list5.insert(0,0)
print(list5)
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, [6, 7, 8, 9]]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [6, 7, 8, 9]]
#删除元素
print("pop(),默认移除最后的一个元素")
list6=["01",'02','03','04','05']
print(list6)
value=list6.pop()
print(value)
print(list6)
value=list6.pop(1)
print("list6.pop(1)",list6)
print("remove 根据指定的值进行移除,移除列表中的某个值的第一个匹配项")
list7=["01",'02','03','04','01']
value2=list7.remove('01')
print("value2",value2)
print(list7)
list8=[1,2,3,4,5,6]
print(list8,"反转列表元素",end=" ")
list8.reverse()
print(list8)
[1, 2, 3, 4, 5, 6] 反转列表元素 [6, 5, 4, 3, 2, 1]
list9=[2,5,0,10,30,20,3,100]
print(list9)
print("默认升序",end=" ")
list9.sort()
print(list9)
print("降序排列",end=" ")
list9.sort(reverse=True)
print(list9)
print(id(list9))
print("复制列表",end=" ")
list10=list9.copy()
print(list10)
print(id(list10))
print("清空列表元素print",end=" ")
list10.clear()
print(list10)
[2, 5, 0, 10, 30, 20, 3, 100]
默认升序 [0, 2, 3, 5, 10, 20, 30, 100]
降序排列 [100, 30, 20, 10, 5, 3, 2, 0]
2054163333888
复制列表 [100, 30, 20, 10, 5, 3, 2, 0]
2054163333696
清空列表元素print []