break 跳出循环, 不在做循环的动作了 (终止了循环)
while i < 5:
print(i, end="")
if i == 3:
break
# 跳出循环,
i += 1
output:
123
进程已结束,退出代码为 0
continue 之后作用域不再执行(忽略本次循环, 继续后续的循环)
while i < 5:
print(i, end="")
if i == 3:
continue
# 跳出循环,
i += 1
output:
123
进程已结束,退出代码为 0
if name == '_main_':
if __name__ == '__main__': # 主程序入口
print('我自己')
'''
对于当前Py文件来说,name的值被规定为__main__
但是当其他py文件引入这个Py文件的时候,这个Py的-name_-就为文件名。 在其他py文件导入这段代码不执行
一般用来开发做调试保证自己的代码不被运行
'''
for循环遍历(可以遍历字符串, 列表 , 字典)
for i in xulie: # i并不是固定的,你可以用mnv等,乃至于字符串
循环体
name= 'wang' #可以遍历字符串, 列表 , 字典
for i in name:
print(i)
range函数 里面也跟起始位, 结束位置和步长
例子: 如果要输出100以内的偶数
for i in range(0,100,2): # 含头不含尾
print(i)
奇数
for i in range(1,100,2): # 含头不含尾
print(i)
要求输出:
千山鸟飞绝
万惊人踪灭
诅咒蓑笠翁
独钓寒江雪
for items in list:
for item in items:
print(item,end='')
print()
for i in range(len(list)):
for j in range(len(list[i])):
print(list[i][j],end='')
print()
独孤万千
钓舟径山
寒蓑人鸟
江笠踪飞
雪翁灭绝
先反转操作,再取值
str1 = '千山鸟飞绝'
str2 = '万径人踪灭'
str3 = '孤舟蓑笠翁'
str4 = '独钓寒江雪'
list = [list(str1), list(str2), list(str3), list(str4)]
print(list)
for i in range(len(list)):
for j in range(len(list[i])):
if j<4:
print(list[j][i],end='')
print()
要求给该字典进行排序,按照值进行排序,得到
dict = {"a":8,"b":1,"c":3}
newdt = {}
for i in sorted(dict,key=dict.get):
newdt.update({i:dict[i]})
print(newdt)
字典转为列表
print(my_dict.items())
items = list(my_dict.items())
my_dict = {"a": 5, "b": 8, "c": 1}
print(type(my_dict.items()))
print(my_dict.items())
items = list(my_dict.items())
print(items)
# 冒泡排序(按值升序)
n = len(items)
for i in range(n - 1):#i 第一次取值0
for j in range(n - i - 1): #第一次循环取值0,第二次循环取值1
# 比较相邻元素的值
if items[j][1] > items[j+ 1][1]:
# 交换位置
items[j], items[j + 1] = items[j + 1], items[j]
sorted_dict = dict(items)
print("按值排序后的字典:", sorted_dict)
# 输出: {'c': 1, 'a': 5, 'b': 8}
sorted_items = sorted(dict.items(), key=lambda x: x[1])
函数(提高代码的复用率):
函数是组织好的,可重复使用的,用来实现单一,或
相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你
已经知道Python提供了许多内建函数,比如print()。但
你也可以自己创建函数,这被叫做用户自定义函数。
def 函数名(value1,value2) :
函数体
return xxxxx
a和b被称之为形式参数, add是指的函数名
函数名一般使用驼峰型或者使用My_print命名
def 代表生命这是一个函数
def add(a,b)
print(a+b)
如果没有返回值,默认为None,为None可以省略
函数的调用
add(1,2) # 有几个形式参数, 就传递几个值
python内存空间中。return 返回值才能参与加减法和其他计算
add(1,2) 有几个形式参数,就传递几个值
print(add(a:1,b:2))#print()只是将1+2的结果返回在了控制台,并不存在于
函数的调用
定义函数后,我们可以通过函数名加括号来调用它:
调用greet函数
greet() #输出:你好,欢迎学习Python函数!
I
函数参数
函数可以接受输入值,这些值称为参数或形参。
关键字传参 不需要安装顺序传参
My(b=5,a=3)
print (My(b=5, a=3))
#关键字传参
默认值参数, 如果不给参数传值, 那么就会把默认值传给该参数
def boy(sex = '男'):
print('你的性别是:',sex)
默认值参数只能放在普通参数的后面
def new_print(age,name='wangxiaojian',sex="男"):
pass
*args 代表可以传入多个实际参数,将其封装成元组
def Sum_Num(*args):
n = args
sum = 0
print(type(n)) # 元组
for i in n:
sum += i
return sum
print(Sum_Num(1,2,3,4,5,6,7,8,9,10))
**kwargs:接收任意数量的关键字参数
形式参数前面有两个*号, 代表这是一种可变参数,但是其传入的值,以键值对形式存在, 也就是说要传入的值是字典
def My_print(**kwargs):
print(type(kwargs))
My_print(name="王小贱",address="成都")
默认值参数要放在可变参数前面, 封装字典的参数要放在元组的参数后面
def profile(a, b,d=1, *args, **kwargs):
profile(a: 1, b:2, d: 7,*args:9,0,1,hame='王小贱')
函数文档:
def sum(a,b):
'''
:param a: 第一个数字
:param b: 第二个数字
:return: 返回a+b的值
'''
return a+b
导入My_Python文件
使用场景: 如果在这个文件中, 要使用别的文件的函数, 就需要先导入
from My_Python import (可以指定只导入...)
#从my_Python文件中导入所有的函数或者方法
import My_Python
#导入My_Python
如果是使用Import python 名 ,调用其函数, 需要文件名, 函数名()
在python世界里面,package代表包或者库
package里面必须有一个__init__.py文件, 否则不能被其他模块导入使用, 就是一个普通的文件夹
from My_package.old import add
直接导入方法时可以直接使用函数名
a=1 #全局变量
def add():
a=5 #局部变量
return a
print(a)
在函数外面的叫做全局变量
在函数里面的叫做局部变量
全局变量可以被函数内部调用
x=1
def new_print():
print(x)
new_print()
局部变量不能被函数外面调用
def new2():
y=2
print(y)
print(y) #局
修改全局变量
要在函数内部修改全局变量,需要使用global关键字:
counter =0 # 全局变量
def increment():
global counter
counter +=1
print(f"计数器: {counter)")
increment() #输出:计数器: 1
increment() #输出:计数器: 2
作业: 写一个函数, 要求返回1000以内不重复的三位数
作业: 写一个函数, 要求返回1000以内数字不重复的三位数