Python除了%占位符的方法外,还有另一种高效的格式化语法,具体例子如下:(有种JS模板字符串的感觉)
通过语法:f”内容{变量}”的格式来快速格式化
[f的含义是format格式化]
ee = "my"
name = 66
kk = 3.14
print(f"春花秋月终未料{ee},数字{name},浮点数{kk}")
总结:可以通过
f”{变量}{变量}”的方式进行快速格式化
特点:·不理会类型,·不做精度控制,适合对精度没有要求的时候快速使用
(自测发现大写的F也可以生效)
二、对表达式进行格式化
表达式:一条具有明确执行结果的代码语句
如:
1+1、5+2,就是表达式,因为有具体的结果,结果是一个数字,又或者,常见的变量定义:
name=”张三” agr=11+11
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
例如:
print(“1*1的结果是:%d”%(1*1))
print(f“1*2的结果是:{1*2}”)
print(“字符串中python中的类型名是:%s”%type(“字符串”))
如何格式化表达式:
f{“表达式”}
“%s\%d\%f”%{}
print()函数,可以完成将内容(字面量、变量等)输出到屏幕上
在python中,与之对应的还有一个input语句,用来获取键盘输入
数据输出:print
数据输入:input
Input()语句可以从键盘获取输入
使用一个变量接收(存储)input语句获取的键盘输入数据即可
Input()语句的功能是,获取键盘输入的数据
可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息
要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串,除非在input()语句后,再进行一次数据类型转换
四、python判断语句
布尔类型与比较运算符
True表示真
False表示假
(注意python中首字母必须大写,否则不是布尔类型)
比较运算符
==,!=,>,<,>=,<=
If语句的基本格式
If 要判断的条件:
(四个空格缩进)条件成立时,要做的事情
【注意:1、一定不要忘记写冒号;2、判断条件一定要是布尔类型的;3、归属于if语句的代码块,需在前方填充4个空格缩进】
——————————————————————————————
If 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
…(省略)…
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
…(省略)…
例如:
age=int(input(“请输入你的年龄:”))
if age>=18:
print(“您已成年,需要买票10元”)
else:
print(“您未成年,可以免费游玩”)
——————————————————
If 条件1:
条件1满足应做的事情
elif 条件2:
条件1满足应做的事情
elif 条件N:
条件1满足应做的事情
else:
所以条件都不满足应该做的事情
【可以在条件判断中,直接写input语句,节省代码量】
———————————————————
五、判断语句的嵌套
基础语法格式如下:
If 条件1:
(四个空格缩进)满足条件1 做事情1
If 条件2:
满足条件2做事情2
【注意嵌套的关键点,在于:空格缩进,通过空格缩进,来决定语句之间的:“层次关系“】
六、while循环语句
while 条件:
条件满足时,执行以下代码
…(省略)…
【只要条件满足会无限循环执行,注意空格缩进】
——————————————————
while循环的嵌套
while 条件1:
满足条件一,执行以下代码
while 条件2:
满足条件二,执行以下代码
补充1:print输出不换行的方法:在print语句中,加上end=””即可不换行了
例如:print(“hello”,end=””)
print(“world”,end=””)
打印出来的结果为:helloworld
补充2:在字符串中,有一个特殊符号:\t,效果等同于键盘上按下:tab键
它可以让我们多行字符串进行对齐
例如:print(“Hello\tWorld”)
print(“My\tHeat”)
七、for循环(遍历循环)
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
例如:name="tazimi"
for k in name:
print(k)
八、range语句
for循环能够遍历的类型主要是序列类型,序列类型指,其内容可以一个个依次取出的类型,包括:
·字符串
·列表
·元组
·等
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0,1,2,3,4]
语法2:
range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5,10)取得的数据是:[5,6,7,8,9]
语法3:
range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)取得的数据是:[5,7,9]
九、变量作用域
for k in range(10,20,2):
print("武器雷米")
print(k)
- for循环中的临时变量,其作用域限定为:
循环内
- 这种限定:
·是编程规范的限定,而非强制限定
·不遵循也能正常运行,但是不建议这样做
·如需访问临时变量,可以预先在循环外定义它
十、循环中断:break和continue
(同JS)
continue关键字用于:中断本次循环,直接进入下次循环
continue可以用于:for循环和while循环,效果一致
例如:
for k in range(1,100):
语句1
continue
语句2
在上方代码:
在循环内,遇到continue就结束当次循环,进行下一次,所以,语句2是不会执行的
应用场景:
在循环中,因某些原因,临时结束本次循环
break直接结束所在的循环
【注意:在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用】
十一、python函数
函数:是组织好的,可重复使用的,用来实现特定功能的代码段
用def对函数进行定义,例如:
def my_len(data):
count =0
for I in data:
count+=1
print(f“字符串{data}的长度是{count}”)
为什么要学习、使用函数?
为了得到一个针对特定需求、可供重复利用的代码段,提高程序的复用性、减少重复性代码,提高开发效率
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
【注意事项:
- 参数如不需要,可以省略
- 返回值如不需要,可以省略
- 函数必须先定义后使用
】
十二、函数的参数
传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供的数据
例如:def add(x, y):
return x + y
print(f"{add(1, 2)}")
【注意:
1.函数定义中的参数,称之为形式参数
2.函数调用中的参数,称之为实际参数
3.函数的参数数量不限,使用逗号分隔开
4.传入参数的时候,要和形式参数一一对应,逗号隔开
】
十三、函数返回值
形似于:
def 函数(参数…):
函数体
return 返回值
变量=函数(参数)
【注意:return之后函数体结束执行】
十四、None类型
如果函数没有使用return语句返回数据,那么函数有返回值,其返回值为None这个字面量
None是Python中特殊的字面量,其类型是:<class ‘NoneType’>
None表示:空的、无实际意义的意思
函数返回的None,就表示,这个函数没有返回什么有意义的内容,也就是返回空的意思
None类型的应用场景
1.用在函数无返回值上
2.用在if判断上
·在if判断中,None等同于False
·一般用于在函数中主动返回None,配合if判断做相关处理
·用于声明无内容的变量上
·定义变量,但暂时不需要变量有具体值,可以用None来代替
【not 取反的意思】
十五、函数说明文档
对函数进行说明解释,帮助更好理解函数的功能
定义语法如下:
def func(x,y):
‘’’
函数说明
:param x: 参数x的说明
:param y: 参数y的说明
:return: 返回值的说明
‘’’
函数体
return 返回值
- :param用于解释参数
- :return用于解释返回值
十六、函数嵌套调用
所谓函数嵌套调用指的是一个函数里面又调用了另一个函数
例如:
def func_b():
print(“---2---”)
def func_a():
print(“---1---”)
func_b()
print(“---3---”)
#调用函数func_a
func_a()
【执行流程:函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容】
十七、变量的作用域
变量作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)
主要分为两类:局部变量和全局变量
所谓局部变量是定义在函数体内的变量,即只在函数体内部生效
def testA():
num=100
print(num)
testA() # 100
print(num) #报错:name ‘num’ is not defined
函数变量的作用:在函数运行的时候临时保存数据,当函数调用完成之后,立刻就销毁局部变量
全局变量指的是在函数体内、外都能生效的变量(感觉python相比于js自动省略了var,let,const,语法规则差不多)
使用global关键字,可以在函数内部声明变量为全局变量,如下所示
num=100
def testA():
print(num)
def testB():
#global关键字声明a是全局变量
global num(不用global将会被认定为局部变量)
num=200
print(num)
testA()
testB()
print(f”全局变量num={num}”) #结果:全局变量num=200
十八、python数据容器
一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素,可以是任意类型的数据,如字符串、数字、布尔等
数据容器根据特点的不同,如:
·是否支持重复元素
·是否可以修改
·是否有序,等
分为5类,分别是:
列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
十九、列表
基本语法
#字面量
[元素1,元素2,元素3,元素4,…]
#定义变量
变量名称=[元素1,元素2,元素3,元素4,…]
#定义空列表
变量名称=[]
变量名称=list()
列表内的每一个数据,称之为元素
·以[]作为标识
·列表内每一个元素之间用,逗号隔开
【注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套】
比如:[[1,2,3],[4,5,6]]
二十、列表的下标索引
列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增
(0,1,2,3,…)
或者,可以反向索引,也就是从后向前:从-1开始,依次递减(…,-3,-2,-1)
嵌套列表的下标索引 list[0][0]
列表的常用操作和特点
列表的方法(js中对象的感觉)
回忆:函数是一个封装的代码单元,可以提供特定的功能
在python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法
函数
def add(x,y):
return x+y
方法
class Student:
def add(self,x,y):
return x+y
方法和函数功能一样,有传入参数,有返回值,只是方法的使用格式不同:
函数的使用:num=add(1,2)
方法的使用:
class Add:
def add(self, x, y):
return x + y
kk = Add()
print(kk.add(1, 2))
列表的查询方法(index)
·查找某元素的下标
功能:查找指定元素在列表的下标,如果找不到,报错ValueError
语法:列表.index(元素)
index就是列表对象(变量)内置的方法(函数)
列表的修改方法
·修改特定位置(索引)的元素值:
语法:列表[下标]=值
可以使用如上语法,直接对指定下标(正向,反向下标均可)的值进行:重新赋值(修改)
列表的插入方法(insert)
语法:列表insert(下标,元素),在指定的下标位置,插入指定的元素
kk = [1, 2, 3]
kk.insert(1, 'oleiwa')
print(kk)
输出结果为:
[1, 'oleiwa', 2, 3]
列表的追加元素的方法(append)
语法:列表.append(元素),将指定元素,追加到列表的尾部
kk = [1, 2, 3]
kk.append(1)
print(kk)
输出结果为:
[1, 2, 3, 1]
kk = [1, 2, 3]
kk.append([6,7,8])
print(kk)
输出结果为:
[1, 2, 3, [6, 7, 8]]
列表追加元素方式2:
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部
kk = [1, 2, 3]
kk.extend([6,7,8])
print(kk)
输出结果为:
[1, 2, 3, 6, 7, 8]
列表的元素删除方法(del,pop)
语法1:del列表[下标]
语法2:列表.pop(下标)【不指定下标则默认删除最后一个元素】
kk = [1, 2, 3, 4, 5, 6, 7, 8]
del kk[1]
print(kk)
输出结果为:[1, 3, 4, 5, 6, 7, 8]
kk = [1, 2, 3, 4, 5, 6, 7, 8]
result = kk.pop(1)
print(kk, f"删除的元素是{result}")
输出结果为:[1, 3, 4, 5, 6, 7, 8] 删除的元素是2
·删除某元素在列表中的第一个匹配项(remove)
语法:列表.remove(元素)
kk = [2,1, 2, 3, 4, 5, 6, 7, 8]
kk.remove(2)
print(kk)
输出结果为:[1, 2, 3, 4, 5, 6, 7, 8]
·清空列表内容
语法:列表.clear()
kk = [2,1, 2, 3, 4, 5, 6, 7, 8]
kk.clear()
print(kk)
输出结果为:[]
·统计某元素在列表内的数量
语法:列表count(元素)
kk = [2, 1, 2, 2, 2, 5, 2, 7, 8]
print(kk.count(2))
输出结果为:5
·统计列表内,有多少元素
语法:len(列表)
可以得到一个int数字,表示列表内的元素数量
kk = [2, 1, 2, 2, 2, 5, 2, 7, 8]
print(len(kk))
输出结果为:9
总结列表的特点:
·可以容纳多个元素(上限为2**63-1、9223372036854775807个)
·可以容纳不同类型的元素(混装)
·数据是有序储存的(有下标序号)
·允许重复数据存在
·可以修改(增加或删除元素等)