来源博客:【Harryの心阁】
基本数据类型
- python的变量不需要事先声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型
等号(=)用来给变量赋值。等号左边是一个变量名,等号右边是存储在变量中的值。
#!/usr/bin/python3.8
temp = "今日在学" # 字符串
temp1 = 2000 # 整型
temp2 = 2000.2 # 浮点型
print(temp)
print(temp1)
print(temp2)
# 运行结果
今日在学
2000
2000.2
赋值给多个变量
- python不同于其他的语言,可以连带赋值,如,a = b = c = “今日在学”
a = b = c ="今日在学"
print(a, b, c)
#输出结果
今日在学 今日在学 今日在学
多个对象指定多个变量赋值
a, b, c ="今日在学", 2000, 200.2
print(a, b, c)
#输出结果
今日在学 2000 200.2
标准数据类型
-
Python中有6个标准数据类型:
不可变数据
:Number(数字);Sting(字符串);Tuple(元组);
可变数据
:List(列表);Set(集合);Dictianary(字典)Number(数字) -
Python支持
int(整型),float(浮点型),bool(布尔逻辑),complex(复数)且只有一种数据类型int,内置的 type(),isinstance() 函数可以用来查询变量所指的对象类型
a, b, c, d = 10, 200.2, False, 1+2j
print(type(a), type(b), type(c), type(d))
# 测试结果
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
判断函数的类型
n = 8+2j
isinstance(n, complex)
type(n)
# idle编辑器下运行结果
True
数值的计算
注
:数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。Python3中布尔运算符True和Flase分别表示逻辑值1和0,可参数数值的运算,如下
#!/uer/bin/Python
# 开始数值的计算,这里使用idle
>>>1 + True # 加法
2
>>>True - Flase #减法
1
>>>1 + 1.0 # 浮点型加法
2.0
>>>5 / 2 # /表示整除
2.5
>>>5 // 2 # //表示向下取整
2
>>>-2 % 5 # 表示求余数
3
## 这里注意取余的公式:r=a-n(a//n) 【r为余数,a为被除数,n为除数】
Sting(字符串)
- Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,*+
注:反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 - Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
#!/usr/bin/python3
str = "今日在学"
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:4]) # 输出从第三个开始到第四个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次,也可以写成 print (2 * str)
print(str + "小猪手") # 连接字符串
#运算结果
今日在学
今日在
今
在学
在学
今日在学今日在学
今日在学小猪手
List(列表)
- Python中LIst列表使用的较为频繁。List列表中字符或字符串是写在[],并且用逗号隔开且:变量[头下标, 尾下标]索引值是从0开始,从右到左索引值从-1开始List[1:5:2]表示1-5的索引值从列表第二个开始到第五个,除去list[2]
#!/usr/bin/python3
List = ['abc', 786, 2.23, "今日在学", 70.2]
List1 = [123, "今日在学"]
print(List) # 输出完整列表
print(List[0]) # 输出列表第一个元素
print(List[1:3]) # 从第二个开始输出到第三个元素
print(List[2:]) # 输出从第三个元素开始的所有元素
print(List1 * 2) # 输出两次列表
print(List + List1) # 连接列表
## 运算结果
['abc', 786, 2.23, '今日在学', 70.2]
abc
[786, 2.23]
[2.23, '今日在学', 70.2]
[123, '今日在学', 123, '今日在学']
['abc', 786, 2.23, '今日在学', 70.2, 123, '今日在学']
List(列表)
- List列表中List[-1: :-1]如果第三个元素为-1,则表示逆向读取
def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
inputWords = input.split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputWords = inputWords[-1::-1]
# 重新组合字符串
output = ' '.join(inputWords)
return output
if __name__ == "__main__":
input = ("I like 今日在学. Please follow me!")
we = reverseWords(input)
print(we)
## 运算结果
me! follow Please 今日在学. like I
Tuple(元组)
- 元组Tuple和列表List相似,唯一不同的就是元组内的元素不能改变,用()
- string、list 和 tuple 都属于 sequence(序列)。
注
:与字符串一样,元组的元素不能修改。元组也可以使用+操作符进行拼接。
Set(集合)
- 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。
- 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
qw = {12, 313, 31, 313, 4141, 4141, 546, 2323, 424}
print(qw) # 删除重复的元素
## 用in来测试是否存在于集合内
if 313 in qw:
print('在集合内')
else:
print('不在集合内')
a = set('eqjdjoqjodaldhA')
b = set('dasdhidfhhiohdOAIDIgaiODhhFHIOAH')
print(a)
print(b)
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中没有交集的元素
## 运算结果
{546, 424, 12, 4141, 2323, 313, 31}
在集合内
{'j', 'A', 'l', 'a', 'd', 'q', 'h', 'e', 'o'}
{'A', 'F', 'D', 'a', 'g', 'd', 'O', 'H', 'i', 'h', 'I', 's', 'f', 'o'}
{'j', 'q', 'l', 'e'}
{'j', 'l', 'a', 'O', 'H', 'h', 'i', 'A', 'F', 'g', 'd', 'q', 's', 'I', 'e', 'D', 'f', 'o'}
{'A', 'a', 'd', 'h', 'o'}
{'j', 'F', 'D', 'l', 'g', 'O', 'H', 'q', 'i', 'I', 'e', 's', 'f'}