python知识点

发布时间:2026/9/27 3:31:16
python知识点 格式化的使用方法%格式化这个方法有一些过时不如用format格式化f快速格式化数字类型所有数字类型比较运算符比较运算符计算得到布尔类型的结果循环for循环for主要写用来重复执行固定次数的代码使用前提要知道遍历的次数For 变量 in range 起始值终止值range5从0到4嵌套使用外层循环一次但内层循环完整次数for i in range(1,6):for j in range(i):print(*, end)print()1. range(i) 的规则左闭右开range(n) 生成从 0 开始到 n-1 的整数序列。range (i) 里面的 i是外层循环的变量。当 i 1 → range(1) → 只有 [0]内层循环执行1 次j0当 i 2 → range(2) → [0, 1]内层循环执行2 次j0、j1当 i 3 → range(3) → [0,1,2]循环 3 次i4循环 4 次i5循环 5 次 j 的值是 0、1、2……但我们根本不用 j 这个数字本身内层循环的作用控制循环跑多少次跑一次就打印一个星号。2. print(*, end) 是什么意思正常 print(*) 打印完星号自动换行。end 就是修改 print 默认结尾打印完 * 不换行光标停在同一行后面。i1 时内层循环执行 1 次 → print (*, end) → 在同一行输出 *内层循环结束执行下面单独的 print()这个不带任何内容专门用来换行。i2 时内层循环执行 2 次第一次打印*不换行第二次打印*不换行同一行得到 **内层结束print() 换行。i3 → 输出***然后换行。以此类推。for i in range(1,6):for j in range(5-i):print( ,end)for k in range(i):print(*,end)print()后边的两个for是并列结构一个控制输出空格一个负责打印*号运行结果***************while循环不确定具体次数需要重复进行判断时使用while循环满足条件会一直循环break是结束【当前这一层】的循环直接跳出后边循环不再跑continue是跳过【当前这一轮】剩下代码直接进入下一轮循环但所在的循环本身不结束只有这一轮后面的代码不再运行在使用continue和break时需要用if语句进行判断例如for I in range15if i2breakprinti运行结果是1break终止的是整个for循环语句while True:num int(input(请输入一个数字))if num **2 100:continueelse:breakprint(f这个数的平方是{num**2})这个是自己的思路我考虑的是if满足继续的条件其实可以思考if满足停止的条件可以有优化如下题目可翻译为只要满足就继续不满足就停止while True:num int(input(请输入一个数字))if num **2 100:breakprint(f这个数的平方是{num**2})当一轮循环里面有很多业务代码满足某个条件需要跳过本轮剩下代码这时候用continue。猜数字实例对比方法一 while Truebreakanswer 27count 0while True:num int(input(这是一个猜数游戏,请输入你猜的数字:))count 1if num answer:breakelif num answer:print(你输入的数字大了)else:print(你输入的数字小了)print(f恭喜你猜对了\n一共猜了{count}次)方法二 while 条件answer 27count 0num int(input(这是一个猜数游戏,请输入你猜的数字:))count 1while num ! answer:if num answer:print(你输入的数字大了)else:print(你输入的数字小了)num int(input(这是一个猜数游戏,请输入你猜的数字:))count 1print(f恭喜你猜对了\n一共猜了{count}次)函数函数的认识与使用def 是英文 define定义 的缩写用来自定义函数。函数作用把一段重复要用的代码打包起来给它起个名字。想用的时候直接调用不用反复复制粘贴代码。def 函数名(参数列表):函数文档字符串说明这个函数干嘛的可选# 函数体这里写代码return 返回值 # return 可选没有return默认返回 None(参数列表) 【重点】参数就是传给函数的数据可选可以没有参数。无参数def hello():单个参数def say(name):多个参数def add(a,b):参数只是占位符叫形参形式参数调用函数时传入真实数据叫实参。函数传入参数的数量不受限制可以有很多个定义一个测体温函数进行练习def temperature(num):print(欢迎来到黑马程序员!请出示您的健康码以及72小时内核酸证明并配合测量体温!)if num 37.3:print(f体温测量中,您的体温是:{num}度,体温正常请进)else:print(f体温测量中,您的体温是:{num}度,需要隔离)return numtemperature(37.3)temperature(39.3)return与none类型有 return / 无 return例子 1不带 returndef add(a, b):res a bprint(f两数相加结果{res})# 没有return# 调用函数尝试把结果存到变量xx add(2,3)print(x的值是, x)运行输出plaintext两数相加结果5x的值是 None拆解过程执行add(2,3)a2,b3算出 res5print 在屏幕打印 5。函数结束没有 return 往外送数据Python 自动返回None。x add(2,3)x 拿到的就是None不是 5。你没法拿 x 继续做计算比如x 10就会报错。print 只是把数字展示在屏幕数字 5 只在函数内部送不出来给外面变量。例子 2加上 returndef add(a, b):res a bprint(f两数相加结果{res})return res # 把res送回调用处x add(2,3)print(x的值是, x)print(x 10) # 拿到返回值可以继续计算运行输出plaintext两数相加结果5x的值是 515拆解过程add(2,3)a2,b3res5屏幕打印 5。return res把 res 里面的 5送出函数给到调用的地方。x add(2,3)x 接收这个返回的 5。现在 x 是数字 5能继续参与运算。一句话总结print给人看数据留在函数里面拿不出去。return交给代码用把数值传出函数外面变量可以接收、继续计算。当函数体在执行时遇到return时后面将不再执行None类型使用判断一个变量是不是 None推荐用 is不要用 is判断是不是同一个东西专门用来判断 None判断值是否相等虽然有时候也能跑但不规范用途 1函数返回值表示 “没有有效结果”用途 2变量初始化先定义变量但暂时不给它有效值用途 3函数默认参数def show_info(name, ageNone):if age is None:print(f名字{name}年龄未知)else:print(f名字{name}年龄{age})show_info(小明) # 不传ageageNoneshow_info(小红,20) # 传入age覆盖None用途 4清空变量a 999a None # 把变量a置空不再保存999注意None 不能参与数学计算不是数字不能加减乘除在 if 判断里None会被当成假Falsereturn单独写后面不带任何东西等价返回 None函数的说明文档函数文档便于理解函数的用途以及参数的说明在一个函数里面去调用另外一个已经定义好的函数就叫函数嵌套调用先写两个独立的函数一个函数里边调用另一个函数先执行最内层的函数输出---1------2------3---变量的作用域作用域分为局部变量和全局变量局部变量的作用在函数体内部临时保存数据即函数调用完成后则销毁局部变量在函数内部的变量为局部变量全局变量是函数内外都可以使用的变量只需定义在函数外部就可以将函数内部的局部变量修改为全局变量的方法使用global保留字总结局部变量只能在函数内部使用全局变量函数内外部都可以使用函数内部可以读取全局变量但不可以修改若要修改则使用global保留字money 500000 # 全局余额# 查询不需要形参直接读全局moneydef check_money():# 只是读取不需要写global只有修改才要globalreturn money# 调用括号里面啥都不写res check_money()print(f您的账户余额{res} 元)运行直接拿到全局money返回外面就可以拼接文字打印。重点仅仅读取全局变量函数内不用写 global只有money xxx这种修改操作才必须加global money。注意使用global保留字会污染全局变量money可以使用return进行计算简洁取款函数核心一行对比global 版本你的旧写法def takeout_money(out_money):global moneymoney - out_moneyreturn money传参 return 版本def takeout_money(money, out_money):if out_money money: # 情况1钱不够不能取钱 → 余额不变原样返回旧moneyreturn money# 情况2钱够可以取钱 → 返回扣完钱之后的新余额return money - out_money这个版本没有 global函数只做计算靠money takeout_money(money, num)更新余额。这里是if 分支两个 return只会执行其中一个不会同时跑数据容器容器的初步认识一个变量记录多个数据容器中的数据类型可以不相同一个数据是一个元素list列表类型的使用列表有序、可变、允许元素重复的容器可以存放任意类型数据数字、字符串、函数、甚至另一个列表符号[]元素之间逗号隔开.一个列表可以容纳多个数据类型两个逗号之间的的数据是一个元素Type(list)classlistlist列表的索引语法 列表【下标索引】正向从0开始依次1 反向从-1开始依次-1通过下标索引取数据一定不要超出范围嵌套列表元素取法列表【外层下表索引】【内层下标索引】例如查找 list【1】【0】my_list [[1,2,3],[4,5,6]]Print(my_list[0][2])结果 2列表的方法1.列表的查询功能查找某元素的下标功能查找指定元素在列表的下标如果找不到报错Value Error语法列表.index元素index就是列表对象内置的方法例如my_list [marvelous,grit,dedicattion]Ds my_list.index(grit) # 获取grit元素的下标索引值Print(ds) # 打印出12.列表的修改方法语法列表【下标】 值在列表中插入元素语法列表.insert下标元素在指定的下标位置插入指定的元素写一个超过列表最大下标的数字给 insert它也会自动放到末尾lst [10,20,30]lst.insert(999, 40) # 列表最大下标才2写999自动放最后print(lst) # [10,20,30,40]在列表中追加元素语法列表.append元素将指定的元素追加到列表的尾部One : 追加单个元素two追加一批元素语法列表.extend其他数据容器将其他数据容器的内容取出依次追加到列表的尾部元素的删除方法语法del.列表【下标】语法列表.pop(下标)删除指定元素的内容方法语法列表.remove(元素)删除找到的第一个元素列表清空的方法语法列表.clear()统计某个元素在列表内的数量语法列表.count(元素)统计列表中元素的总数量语法Len(列表)使用函数len来进行统计append()、extend()、insert() 这类列表方法是【原地修改列表】不需要接收返回值直接改变 mylist 本身循环遍历列表内容可以使用while和for循环方法一while循环my_list [传智教育, 黑马程序员, Python]index 0 # 元素的下标数字while index len(my_list): # while循环条件是下标数字列表中的元素下标element my_list[index] # 取出元素print(f列表的元素{element})index 1方法二for循环my_list [传智教育, 黑马程序员, Python]For element in my_list:print(f列表的元素{element})总结for循环实例i 0mylist [1,2,3,4,5,6,7,8,9,10]one_list []for i in mylist:if i % 2 0:one_list.append(i)print(f通过for循环,从列表{mylist}中取出偶数,组成新列表:{one_list})while循环实例:mylist [1,2,3,4,5,6,7,8,9,10]i mylist[0]one_list []while i mylist[-1]:if i % 2 0:one_list.append(i)i 1print(f通过for循环,从列表{mylist}中取出偶数,组成新列表:{one_list})元组类型认识与使用