0基础学Python3第五天:Python基本数据类型

大家好,我是小宇,我们今天接着学习Python3,我们争取在100天之内学会并运用Python自己编写一个属于自己的程序,程序的用途可以自己分配。在这100天内每一天我都会更新教程,希望大家能和我一起,一步一步的学会Python,不过,学习之前要把基础打好,要不然就会基础不牢,地动山摇,在学习理论知识的同时也要多练,只有练多了,才会记住,才能熟能生巧,好了我们开始今天的学习了。


前言

我发布的文章之中这是0基础学Python3的第五天了,如果前面的还有不懂的可以进我主页,去学习前几篇内容,一定要记熟理论知识,然后再多练,这样你就能学的好。


一、变量

1.变量是什么?

  变量是存放数据值的容器。 与其他编程语言不同,Python 没有声明变量的命令。 首次为其赋值时,才会创建变量。 变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型。 变量可以使用短名称(如 x 和 y)或更具描述性的名称(age、carname、total_volume)。 Python 的 print 语句通常用于输出变量。 在函数外部创建的变量(如上述所有实例所示)称为全局变量。 全局变量可以被函数内部和外部的每个人使用。 如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。(其实就相当于一个杯子或一间屋子)。

 二、变量赋值 

1.Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

1 # 变量赋值实例
2 integer = 100  # 这是一个整型变量,integer 是变量名,100 是变量 integer 的值
3 kilometer = 1000.0 # 这是一个浮点型变量,kilometer 是变量名,1000.0 是变量kilometer 的值
4 region = '四川' # 这是一个字符串变量,region 是变量名,四川 是变量region 的值
5 print(integer)
6 pritn(kilometer)
7 print(region)
8 # 输出结果
9 100
10 1000.0
11 四川

2.同时为多个变量赋值

Python可以同时为多个变量赋值。

例:

1 # 同时为多个变量赋值
2 例:
3 a = b = c = d = 1 
4 ''' 
5 同时为变量赋值要从右边算起,数字 1 赋值给名为变量 d 的变量,
6 变量 d 的值有赋值给变量 c ,这样 c 的值就为数字 1,
7 变量 c 的值为数字 1 之后又赋值给变量 b ,
8 变量 b 的值为数字 1 之后又赋值给变量 a 。
9 '''
10 # 输出以上变量
11 print(a, b, c, d)
12 # 输出结果为 1 

三、标准数据类型

1.Python3中有六种标准数据类型

  • (Number) 数字
  • (String) 字符串
  • (List) 列表
  • (Tuple) 元组
  • (Dictionary) 字典
  • (Set) 集合

2.Python3中六种数据类型又可分为:

可变数据类型:列表(List), 集合(Set), 字典(Dictionary)

不可变数据类型:数字(Number), 字符串(String),元组(Tuple)

例:

1 # 六种数据类型实例
2 # 数字
3   1, 2, 3, 4, ......
4 # 字符串
5 # 用英文的引号包裹起来赋值给变量的一句话
6 name = '小宇'
7 # 列表
8 列表是一种有序和可更改的集合。 允许重复的成员。
9 car = ['大众', '奔驰', '奥迪', '宝马']
10 # 元组
11  元组是一种有序且不可更改的集合。 允许重复的成员。
12  digit = (1, 2, 3, 4, 5, 6)
13 # 集合
14 # 集合是一个无序和无索引的集合。 没有重复的成员。
15 a = {1, 2, 3, 1, 2, 3, 4, 5}
16 # 字典
17 字典是一个无序,可变和有索引的集合。 没有重复的成员。
18 dict = {"name":"小王", "age":"22", "height":"195", "addr":"重庆"}

四、各数据类型细分

1.数字(Number)

  数字又分为四种int(整形),  float(浮点型), bool(布尔型), complx(复数) 

Python3内置的 type() 函数可以用来查询变量所指的对象类型。

1 # 举例如下
2 a, b, c, d = 60, 3.14159, True, 2 + 4j
3 print(type(a))    # 输出 <class 'int'>
4 print(type(b))    # 输出 <class 'float'>
5 print(type(c))    # 输出 <class 'bool'>
6 pritn(type(d))    # 输出 <class 'complx'>

2.还可以用isinstance来判断。

1 a = 12
2 print(isinstance(a))     # 输出 <class 'int'>

isinstance 和 type 的区别在于:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。

3.注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

 >>> class(bool, int) 
 True
 >>> True==1
 True
 >>> False==0
 True
 >>> True+1
 2
 >>> False+1
 1
 >>> 1 is True
 False
 >>> 0 is False
 False

4.

在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。

当你指定一个值时,Number 对象就会被创建:

1 a = 1
2 b = 4 

5.

您也可以使用del语句删除一些对象引用。

del语句的语法是:

1 # 例
2 # del的用法:
3 def a1 [,a2 [,a3 [,a4...]]]

6.数值运算

1 # Pyhton中的数值运算就和我们学的数学差不多,只是有的字符和运算符号会有所不同。
2 # 数值运算
3 # 例
4 a = 20 
5 b = 10
6 # 以下实例均由a, b的值为例
7 加法
8 print(a + b) # 输出 30
9 减法
10 print(a - b) # 输出 10
11 乘法
12 print(a * b) # 输出 200
13 除法
14 print(a / b) # 输出 2.0
15 整除
16 print(a // b) # 输出 2
17 取余
18 print(a % b) # 输出 0
19 乘方
20 print(a ** b) # 输出 10240000000000 (用科学计数法表示为:1.024e13)

7.

注意:

  • 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 2、一个变量可以通过赋值指向不同类型的对象。
  • 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
  • 4、在混合计算时,Python会把整型转换成为浮点数。

四、字符串(String)

1.Python3中的字符串其实是用 ' ' 单引号和 " " 双引号包裹起来的一句话。

创建字符串非常简单,例

1 # 创建字符串
2 a = '大家好'
3 print(a)    # 输出 大家好

2.字符串截取语法如下:

变量[头下标 : 尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

从后面索引:                 -6 -5 -4 -3 -2  -1 

从前面索引 :                0  1   2   3  4  5   

从前面截取:                 : 1 2 3  4  5  :

从后面截取:                  : -5 -4 -3 -2 -1 :

3.实例如下:

1 a = 'hellow'
2 
3 print (a)          # 输出字符串
4 print (a[0:-1])    # 输出第一个到倒数第二个的所有字符
5 print (a[0])       # 输出字符串第一个字符
6 print (a[2:5])     # 输出从第三个开始到第五个的字符
7 print (a[2:])      # 输出从第三个开始的后的所有字符

4.加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:

1 # 运用 + 号,和 * 后, 连接或复制字符串
2 a = '你好'
3 b = '大家好'
4 print(a + b)    # 输出 你好大家好
5 print(a * 2)    # 输出 你好你好
6 print(b * 2)    # 输出 大家好大家好

5.Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示未转义字符串:

1 print('hell\now')    # 用 \n 发生转义
2 # 输出结果如下
3 hell
4 ow
5
6 print(r'hell\now')    # 使用 r 终止 \n 的转义
7 # 输出结果如下
8 hell\now

6.知识点:

  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
  • 字符串可以用+运算符连接在一起,用*运算符重复。
  • Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  • Python中的字符串不能改变。

五、列表(List)

1.

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(也就是嵌套)。

列表是写在方括号 [  ] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

1 a = ['a1', 'a2', 'a3','a4', 'a5']

列表截取的语法格式如下:

变量 [头下标 : 尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

1 a = ['1', '2', '3', '4', '5', '6', '7'] # 这是一个列表
2 # 索引 0    1    2    3    4    5    6
3     -7    -6    -5   -4   -3   -2   -1  
4 
5 print(a[1 : 3])   # 输出从第一位到第三位之前的值元素 
6 print(a[3 :])    # 输出第三位与第三位之后到末尾的元素
7 print(a[0])    # 输出列表第一个元素

2.和字符串不一样,列表中的元素是可以改变的。

实例如下:

1 a = ['11', '12', '13', '14', '15']
2 a[0] = 666    # 把列表第一个元素改为 666
3 a[2 : 4] = [667, 668, 669]

3.

  • List写在方括号之间,元素用逗号隔开。
  • 和字符串一样,list可以被索引和切片。
  • List可以使用+操作符进行拼接。
  • List中的元素是可以改变的。

Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引  的位置并设置为步长为 2(间隔一个位置)来截取字符串:

1 a = ['a', 'b', 'c', 'd', 'e', 'f']
2 print(a[0 : 4 : 3])    # 截取的步长为3 # 输出结果为 ['a', 'd']

六、元组(Tuple)

1.元组是一种序列,它支持序列的基本操作,包括索引、切片、序列加、序列乘、in、len ()、max ()、min ()。. 元组不可修改,指的是元组中每个元素的指向永远不变。. 例如,元组a= ('Tim',201607, ['Python',71]),其中a [1]=201607是整型数据,元组a不能修改a [1];a [2]= [ 'Python',71]是列表,元组a可以修改a [1][2]。. 元组a的第三个元素为列表,列表的内容是允许改变的,它的内存位置并没有变化。. 

2.

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

元组中的元素类型也可以不相同:

1 # 元组
2 t = ('adc', 158, 3.1415, 1.2)
3 # 截取元素
4 print(t)    # 输出完整元组
5 print(t[0])    # 输出元组第一个元素
6 print(t[1 : 3])    # 输出元组从第二个元素开始到第三个元素
7 print(t[2 :])    # 输出元组从第三个元素开始的所有元素
8 print(t * 2)    # 输出两次元组

3.

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

1 t = ()     # 空元组
2 t_2 = (13,)    # 一个元素,需要在后面添上逗号 ,

4.string、list 和 tuple 都属于 sequence(序列)。

  • 与字符串一样,元组的元素不能修改。
  • 元组也可以被索引和切片,方法一样。
  • 注意构造包含 0 或 1 个元素的元组的特殊语法规则。
  • 元组也可以使用+操作符进行拼接。

七、集合(Set)

1.集合是无序和无索引的集合。在 Python 中,集合用花括号编写

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

1 # 创建一个集合
2 s = {'a', 'good', 'hello', '654'}
3 print(s)    # 输出集合,重复的元素将自动去掉

2.成员测试。

1 # 成员测试
2 a = {'good', 'hello', '666', 'abd', 'ok'}
3 if 'hello' in a :
4     print('hello' 在集合中)
5 else :
6     print('hello' 不在集合中)

3.集合运算

1 # set可以进行集合运算
2 a = set('abdelphgerytp')
3 b = set('albdhg')
4
5 print(a)
6
7 print(a - b)     # a 和 b 的差集
8
9 print(a | b)     # a 和 b 的并集
10
11 print(a & b)     # a 和 b 的交集
12
13 print(a ^ b)     # a 和 b 中不同时存在的元素

八、字典(Dictionary)

1.

字典(dictionary)是无序的、可变的、保存的内容是以“键-值对”的形式存储的序列。

我们怎么去理解Python中的字典呢?我们读小学的时候,都用过《新华字典》,在《新华字典》中通过拼音或者部首,我们可以快速的查到对应的文字和解释。其中,《新华字典》里的拼音或者部首相当于Python中字典的键(key),而对应的汉字和解释相当于Python中字典的值(value)。键是唯一的,而值可以有多个。键及其关联的值称为“键值对”。

2.

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

1 d = {}
2 d['o'] = "大家好"
3 d[1] = "我是xxx"
4
5 td = {'name': '小宇','addr':'四川', 'grade': '22'}
6
7
8 print (d['o'])    # 输出键为 'o' 的值
9 print (d[1])    # 输出键为 1 的值
10 print (td)    # 输出完整的字典
11 print (td.keys())    # 输出所有键
12 print (td.values())    # 输出所有值

3.

  • 字典是一种映射类型,它的元素是键值对。
  • 字典的关键字必须为不可变类型,且不能重复。
  • 创建空字典使用 { }

总结

以上就是今天的内容,欢迎留言评论,喜欢请给我点个赞,如果能加关注那就更好,谢谢您了。

我们下期再见!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宇学Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值