黑马程序员python入门(二)
文章目录
前言
本文基于自己学习所需,整理出python笔记,仅供参考。
第四章 Python的循环语句
一、While循环的基础应用
1、基本格式
2、while的条件需得到布尔类型,true表示继续循环,false表示结束。
需要设置循环终止的条件
二、while循环的嵌套应用
1、注意条件的设置
2、基本格式
三、for循环的基础语法
1、for循环是一种“轮询”机制,是对一批内容进行逐个处理。For循环是将字符串的内容依次取出,所以for循环也被称为遍历循环
2、基本格式
待处理数据集也可称之为:序列类型,是指其内容可以一个个依次取出的一种类型。包括:字符串、列表、元祖等。
3、for循环临时变量作用域
从数据集中取到的数据赋值给临时变量,在编程规范上,作用范围只限定在for循环内部。在for循环外部访问临时变量,在编程规范上是不允许的,但实际上是可以访问到的,为了符合规范可以先在循环外定义变量。
四、for循环的嵌套应用
1、基本格式
2、for循环和while循环可以相互嵌套
五、range语句
1、range语句的功能:获得简单的数字序列
2、语法
六、循环中断continue和break
1、continue关键字
(1)作用:中断本次循环,直接进入下次循环
(2)基本格式:在循环中,遇到continue语句就结束单次循环,语句2不会被执行
2、break关键字
(1)作用:直接结束循环
(2)基本格式:在循环中,遇到break语句直接结束循环,执行了语句1后,直接执行语句3.
(3)在嵌套循环中,continue和break语句只能作用在当前的循环中,无法对上层循环起作用。
第五章 Python函数
一、函数介绍
1、函数的定义:组织好的,可重复使用的,用来实现特定功能的代码段。
2、使用函数的好处:
(1)将功能封装在函数内,可供随时随地重复利用
(2)提高代码的复用性,减少重复代码,提高效率。
3、函数调用的基本格式
(1)函数的定义:参数和返回值在不需要时可省略
(2)函数的调用:
4、传入参数:在函数进行计算时,接收外部(调用时)提供的数据,且传入参数的个数是不受限制的。
5、返回值:程序中函数完成事情后,最后给调用者的结果。函数体在遇到return后就结束了,函数内写在return后的代码不会执行。
(1)基本格式:
(2)None类型:<class ‘NoneType’>
None用在函数无返回值上:无返回值的函数,实际上就是返回了None这个字面量
None用在if判断上:if判断中,None等同于False
6、语法解析
(1)传入参数
函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用两个参数,用逗号进行分隔。
函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数。
(2)返回值
定义两数相加的函数功能,完成功能后,会将相加的结果返回给函数调用者,所以变量r接收到了函数的执行结果。
二、函数说明文档
1、作用:通过多行注释的形式,对函数进行解释说明。
2、语法格式
:param用于解释参数
:return用于解释返回值
三、函数的嵌套调用
1、作用:在一个函数里又调用了另外一个函数
2、语法格式
执行流程:函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容
四、变量在函数中的作用域
1、变量作用域指的是变量的作用范围,主要分为局部变量和全局变量
2、局部变量是指定义在函数体内部的变量,即只在函数体内部生效。
局部变量的作用:在函数体内部,函数运行时临时保存变量,函数调用完成后立刻销毁变量
3、全局变量指的是在函数体内外都能生效的变量
4、global关键字:在函数内部声明变量为全局变量
global语法格式:global 变量
第六章 Python数据容器
一、数据容器
1、数据容器的定义:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。元素可以是任意类型的数据,如字符串、数字、布尔等。
2、数据容器的类型:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
二、列表list
1、基本语法
2、列表中元素的数据类型没有任何限制,甚至列表也可以是元素。
3、列表的下标(索引)
(1)语法:列表[下标索引]
(2)下标索引:列表中的每一个元素,都有编号称之为下标索引
正向索引:下标从前往后的方向,从0开始,依次递增。
反向索引:下标从后往前的方向,从-1开始,依次递减。
嵌套列表的下标索引
4、列表的常用操作(方法)
定义:将函数定义为class(类)的成员,那么函数会称之为:方法
(1)列表的查询功能:查找某元素的下标
语法:列表.index(元素)
(2)列表的修改功能:修改特定位置(索引)的元素值
语法:列表[下标]=值
(3)插入元素:在指定的下标位置,插入指定的元素
语法:列表.insert(下标,元素)
(4)追加单个元素:将指定元素,追加到列表的尾部
语法:列表.append(元素)
(5)追加一批元素:将其他数据容器的内容取出,依次追加到列表尾部
语法:列表.extend(其他数据容器)
(6)删除元素
①指定下标的两种方法
语法1:del列表[下标]
语法2:列表.pop(下标)
pop方法将指定下标的元素取出来再返回出来,可以定义返回值
②指定下标的一种方法
语法:列表.remove(元素)
Remove方法删除某元素在列表中的第一个匹配项
(7)清空列表内容
语法:列表.clear()
(8)统计某元素在列表中的数量
语法:列表.count(元素)
(9)统计列表中元素的数量
语法:len(列表)
5、列表的特点
(1)可以容纳多个数据
(2)可以容纳不同类型的数据
(3)数据是有序存储的
(4)允许重复数据存在
(5)可以修改元素
(6)支持for循环和while循环
6、列表的循环遍历:将容器内的元素依次取出进行处理的行为,称为遍历,迭代
(1)while循环
(2)for循环
(3)while循环和for循环的对比
三、元组tuple
1、元组的定义:定义元组使用小括号,并用逗号隔开各个元素。元组同列表一样,都是可以封装多个、不同类型的元素在内,但元组一旦定义完成,就不可修改
2、基本语法
3、元组的特点
(1)可以容纳多个数据
(2)可以容纳不同类型的数据
(3)数据是有序存储的
(4)允许重复数据存在
(5)不可修改内容(可以修改内部list的内部元素)
(6)支持for循环和while循环
四、字符串str
1、字符串的定义:字符串是字符的容器,一个字符串可以存放任意数量的字符。同元组一样,字符串是一个无法修改的数据容器
2、字符串的相关操作
(1)查找特定字符串的下标索引值
语法:字符串.index(字符串)
(2)字符串的替换
功能:将字符串内的全部:字符串1替换为字符串2。这个操作不是修改字符串本身,而是返回一个新字符串
语法:字符串.replace(字符串1,字符串2)
(3)字符串的分割
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。字符串本身不变,得到一个列表对象。
语法:字符串.split(分隔字符串)
(4)字符串的规整操作
①去前后格
语法:字符串.strip()
②去前后指定字符串
语法:字符串.strip(字符串)
(5)统计字符串内某字符串的出现次数
语法:字符串.count(字符串)
(6)统计字符串的字符个数
语法:len(字符串)
3、字符串的特点
(1)只可以存储字符串
(2)长度任意(取决于内存大小)
(3)支持下标索引
(4)允许重复字符串存在
(5)不可修改(增加删除元素等)
(6)支持for循环和while循环
4、字符串比较
(1)定义:字符串是按位比较,从左向右,一位位进行比较,有一位大,则整体大。
(2)单个字符通过ASCII码表,确定字符对应的码值数字来确定大小。
五、序列
1、序列的定义:内容连续、有序,可使用下标索引的一类数据容器。列表、元组、字符串均可以视为序列。
2、序列的常见操作
(1)切片:从一个序列中,从指定位置开始,依次取出元素,到指定位置结束,取出一个子序列。对序列切片操作并不会影响序列本身,而是得到一个新的序列。
语法:序列[起始下标:结束下标:步长]
起始下标:从何处开始,可以留空,留空视作从头开始。
结束下标(不含下标本身):何处结束,可以留空,留空视为截取到结尾。
步长为1可以省略
六、集合set
1、集合的定义:集合是无序的,不支持下标索引访问,但集合允许修改
2、基础语法
3、集合的基本操作
(1)添加新元素:将指定元素,添加到集合内
语法:集合.add(元素)
(2)移除元素:将指定元素,从集合内移除
语法:集合.remove(元素)
(3) 从集合中随机取出元素,会得到一个元素的结果,同时集合本身被修改,元素被移除。
语法:集合.pop()
(4)清空集合
语法:集合.clear()
(5)取出两个集合的差集
功能:取出集合1和集合2的差集(集合1有而集合2没有的元素),得到一个新集合,集合1和集合2不变
语法:集合1.difference(集合2)
(6)消除两个集合的差集
功能:对比集合1和集合2,在集合1内删除和集合2相同的元素,集合1被修改,集合2不变。
语法:集合1.difference_update(集合2)
(7)两个集合合并
功能:将集合1和集合2组合成新集合,集合1和集合2不变
语法:集合1.union(集合2)
(8)统计集合元素的数量
语法:len(集合)
4、集合的特点
(1)可以容纳多个数据
(2)可以容纳不同类型的数据
(3)数据是无序存储的(不支持下标索引)
(4)不允许重复数据存在
(5)可修改(增加删除元素等)
(6)支持for循环,不支持下标索引,所以不支持while循环
七、字典dict
1、字典的定义:使用{},存储的元素是一个个的键值对。字典中的key不可重复,重复会覆盖原有数据,不可使用下标索引,从字典中基于Key获取Value。
2、基本语法
3、字典的嵌套
字典的Key和Value可以是任意数据类型(Key不可为字典),Value可以为字典,这表明字典是可以嵌套的。
4、字典的常用操作
(1)新增元素:字典被修改,新增元素
语法:字典[Key]=Value
(2)更新元素:字典被修改,元素被更新
语法:字典[Key]=Value
(3)删除元素:,删除指定Key的数据,返回指定Key的Value,同时字典被修改
语法:字典pop(Key)
(4)清空字典:字典被修改,元素被清空
语法:字典.clear()
(5)获取全部的key
语法:字典.keys()
(6)统计字典元素的数量
语法:len(字典)
5、字典的遍历
6、集合的特点
(1)可以容纳多个数据
(3)可以容纳不同类型的数据
(3)每一份数据都是KeyValue键值对
(4)可以通过Key获取到Value,Key不可重复(重复会覆盖)
(5)可修改(增加删除元素等)
(6)支持for循环,不支持下标索引,所以不支持while循环
八、数据容器的总结对比
1、数据容器的对比
2、数据容器的通用操作
(1)遍历
五类数据容器都支持for循环遍历,列表、元组、字符串支持while循环,集合和字典不支持while循环
(2)通用的功能方法
(3)通用类型转换
(4)通用排序功能
功能:将给定容器进行排序,排序后的结果会变成列表对象,reverse=True表示降序
语法:sorted(容器,[reverse=True])