使用Visual Studio Code 进行Python编程(三)-变量、数据类型

1、关于Python变量的数据类型

1.1、Python变量没有类型,使用变量时,不需要声明其内存对象的数据类型。

1.2、Python变量在使用前都必须赋值,变量赋值时被创建。

1.3、在 Python 中变量的值决定了变量在内存中的数据类型

2、Python变量在内存中的数据类型

2.1        Numbers(数字)
2.2        String(字符串)
2.3        List(列表)
2.4        Tuple(元组)
2.5        Dictionary(字典)
2.6        Set(集合)

3、数值类型(Numbers)

3.1        int(长整型)
3.2        float(浮点型)
3.3        complex(复数):包含实部、虚部两个部分,通过+号连接,虚部以j表示,

                复数的实部a和虚部b都是浮点型
3.4        bool(布尔型)

在混合计算时,Python会把整型转换成为浮点数

#数值类型
a=123
b=1.23
c=1.23+2.34j
d=2.34+3.45j
e=True
print(a+b,c+d,e)

运行结果

124.23 (3.57+5.79j) True

4、字符串(String)

python的字符串允许使用字母、数字、下划线组成,如下的命名是合法的

#字符串的使用
MyStr='Python sample code 2'
print(MyStr)

MyStr1='Python sample code ,MyStr1'
print(MyStr1)

MyStr_1='Python sample code ,MyStr_1'
print(MyStr_1)

运行结果:

Python sample code 2       
Python sample code ,MyStr1 
Python sample code ,MyStr_1

Python中单引号'双引号"使用完全相同;三引号(''' 或 """)指定多行字符串。

反斜杠\ 用来转义,使用r可以让反斜杠不发生转义,\n用以换行

Python中的字符串不能改变,向某个索引位置赋值,比如word[0] = 'm'会导致错误

字符串可以用 + 运算符连接在一起,用 * 运算符重复

按字面意义级联字符串,如"Sample " "code " "1"会被自动转换为Sample code 1

字符串的切片

#以下例子:字符串切片
print('\n字符串切片')
x = 'hello'      #        所有字符串切片都返回新值
print(x[3])      # l      查询字符串下标为3的元素
print(x[0:])     # hello  查询字符串下标为0到末尾的元素
print(x[:4])     # hell   查询字符串下标0到下标为(n-1)的元素
print(x[1:])     # ello   查询字符串下标为1到末尾的元素
print(x[1:4])    # ell    查询字符串下标1到下边为(n-1)的元素
print(x[-4:-1])  # ell    查询字符串下标为-4到-1的元素
print(x[-3:4])   # ll     查询字符串下标为-3到4的元素
print(x[-2:])    # lo     查询字符串下标为-2到末尾的元素

列表切片
l
hello
hell
ello
ell
ell
ll
lo

5、列表(List)

列表是数值、字符串的集合,并且可以嵌套,以[]进行使用,元素可以修改,是Python中一种基本的数据操作类型可以使用 append( ) 方法来添加列表项

#以下例子:列表运算
print('\n列表运算')
x = [1, 2, 3]
y = [4, 5, 6]
 
print(len(x))       # 3                     计算列表元素个数
print(x + y)        # [1, 2, 3, 4, 5, 6]    列表x和列表y拼接
print(x*2)          # [1, 2, 3, 1, 2, 3]    复制指定系数列表x
print(5 in y)       # True                  判断5是否在列表x内
print(5 not in y )  # False                 判断5是否不在列表x内
print(x!=y)         # True                  判断列表x和y是否相等

运行结果

列表运算
3
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]
True
False
True

可以使用条件列表解析式进行列表数据的填充

#条件列表解析式
print('\n条件列表解析式')
myList = [x*2 for x in range(100) if x%2 == 0]
for ele in range(len(myList)):
    print(myList[ele])

条件列表解析式
0
4
8
12
16

......

6、元组(Tuple)

元组是元素的集合,这一点与列表类似。与列表不同,元组的元素是不可以修改的。

元组写在小括号 ( ) 里,元素之间用逗号隔开。

元组切片

#元组切片
print('\n元组切片')
x = (1, 2, 3, 4, 5, 6)
print(x[2])             # 3                     查找元组下标为2的元素
print(x[-2])            # 5                     查找元组倒数第2个元素
print(x[:])             # (1, 2, 3, 4, 5, 6)    查找元组下标为0到末尾的元素
print(x[::2])           # (1, 3, 5)             查找元组下标0到末尾间隔为2的元素
print(x[:5])            # (1, 2, 3, 4, 5)       查找元组下标为0到5的元素
print(x[1:])            # (2, 3, 4, 5, 6)       查找元组下标为1到末尾的元素
print(x[1:-2])          # (2, 3, 4)             查找元组下标1的到倒数第2个间的元素
print(x[-5:-3])         # (2, 3)                查找元组倒数第5到倒数第3间的元素

运算结果

元组切片
3
5
(1, 2, 3, 4, 5, 6)
(1, 3, 5)
(1, 2, 3, 4, 5)
(2, 3, 4, 5, 6)
(2, 3, 4)
(2, 3)

 元组运算

#元组运算
print('\n元组运算')
x = (1, 2, 3)
y = (4, 5, 6)
 
print(len(x))       # 3                     计算元组元素个数
print(x + y)        # (1, 2, 3, 4, 5, 6)    元组 x 和元组 y 拼接
print(x*2)          # (1, 2, 3, 1, 2, 3)    复制指定系数元组 x
print(5 in y)       # True                  判断 5 是否在元组 x 内
print(5 not in y )  # False                 判断 5 是否不在元组 x 内
print(x!=y)         # True                  判断元组 x 和 y 是否相等

运算结果

元组运算
3
(1, 2, 3, 4, 5, 6)
(1, 2, 3, 1, 2, 3)
True
False
True

7、字典(dict)

列表是有序的对象集合,字典是无序的键(key) : 值(value)集合。字典用 { } 标识,{ }创建空字典。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

键必须是唯一的,但值不必;键必须使用不可变类型,值可取任何数据类型。

使用构造函数 dict( ), 可以直接从键值对序列中构建字典;

把相应的键放入到方括号中,可访问字典里的值

# 字典创建
print('\n字典运算')
x = dict(name ='老胡杨树',age = 53)
print(x)               # {'name': '老胡杨树', 'age': 53} 
 
name = ['张三丰','张无忌']
age = [93,21]
x = dict(zip(name,age))
print(x)               # {'张三丰': 93, '张无忌': 21}
 
# 字典增加
x = {'name':'裘千仞','age':21}
x['scores'] = 100
print(x)               # {'name': '裘千仞', 'age': 21, 'scores': 100} 
 
# 字典删除
x = {'name':'黄老邪','age':21}
del x['age']
print(x)               # {'name': '黄老邪'} 
 
# 字典修改
x = {'name':'裘千仞','age':21}
x['age'] = 25
print(x)               # {'name': '裘千仞', 'age': 25} 
 
# 字典查询
x = {'name':'黄老邪','age':21}
print(x['age'])        # 21 
 
# 字典嵌套
x = {}
x['name'] = [1,2,3]   
print(x)              # {'name': [1, 2, 3]}
print(x['name'][1])   # 2 嵌套取值  
 
# 字典判断
x = {'张三丰': 93, '张无忌': 21}  
print('张三丰' in x)     # True  判断字典键中是否包含'漫漫'
print('张无忌' in x)     # False 判断字典键中是否包含'小漫'

运算结果

字典运算
{'name': '老胡杨树', 'age': 53}
{'张三丰': 93, '张无忌': 21}
{'name': '裘千仞', 'age': 21, 'scores': 100}
{'name': '黄老邪'}
{'name': '裘千仞', 'age': 25}
21
{'name': [1, 2, 3]}
2
True
True

8、集合

进行成员关系运算的元素集合。可以使用大括号 { } 或者 set( ) 函数创建集合

#集合操作
print('\n集合操作')
x = {1,2,3}
print(2 in x)         # True 判断元素 2 是否在集合 x 中
 
x = [1,1,2,3,5,5]
print(list(set(x)))   # [1, 2, 3, 5] 列表、元组去重
 
x = { 1 , 3 , 5 }
y = { 2 , 3 , 4 }
 
print(x-y)            # {1, 5}          
#差集:返回一个新集合,包括集合 x 中与集合y不同元素。
 
print(x|y)            # {1, 2, 3, 4, 5} 
#并集:返回一个新集合,包括集合 x 和集合 y 中所有元素。
 
print(x&y)            # {3}             
#交集:返回一个新集合,仅包括集合 x 和 y 中相同的元素。
 
print(x^y)            # {1, 2, 4, 5}    
#补集:返回一个新集合,仅包括集合 x 和 y 中的不同元素。

运算结果

集合操作
True
[1, 2, 3, 5]
{1, 5}
{1, 2, 3, 4, 5}
{3}
{1, 2, 4, 5}

你可能感兴趣的:(Python,python,开发语言)