大家好,我是小宇,我们今天接着学习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.
- 字典是一种映射类型,它的元素是键值对。
- 字典的关键字必须为不可变类型,且不能重复。
- 创建空字典使用 { }。
总结
以上就是今天的内容,欢迎留言评论,喜欢请给我点个赞,如果能加关注那就更好,谢谢您了。
我们下期再见!