首页 > 编程语言 >python学习笔记——控制流

python学习笔记——控制流

时间:2024-04-01 17:59:00浏览次数:31  
标签:function name 1.2 python 控制流 笔记 print test def

目录

1. 控制流****

1.1. if-elif-else语句****

1.2. 循环结构****

1.2.1. for循环****

1.2.2. While循环****

1.2.3. 嵌套循环****

1.2.4. 循环的控制****

1.2.4.1. Break****

1.2.4.2. Continue****

1.2.5. 遍历****

1.2.5.1. dict****

1.2.5.1.1. 遍历key:****

1.2.5.1.2. 遍历values****

1.2.5.1.3. 遍历items****

2. 函数****

2.1. 定义****

2.2. 语法****

2.3. 调用****

2.4. 参数****

2.4.1. 顺序传参 必传****

2.4.2. 关键字参数 - 必传****

2.4.3. 不定长参数 必传****

2.4.3.1.  args***

2.4.3.2.  kwargs**

2.4.3.3.  args,kwargs*

2.4.4. 默认参数****

2.4.5. 拆包****

2.5. return返回值****

2.6. 变量的作用域****

2.6.1. 局部变量****

2.6.2. 全局变量****

2.6.3. Global(了解)****

2.7. 常用函数****

2.7.1. range()****

2.7.3. Zip()****


1. 控制流****

1.1. if-elif-else语句****

用户输入的数据默认都是str类型,跟数值进行比较一定要记得做类型转换

num = int(input('请输入:'))
if num > 0:
print('num > 0')
elif num == 0:
print('num == 0')
else:
print('num < 0')

1.2. 循环结构****

循环的概念:重复做一件事情

可迭代对象:字符串、列表、元组、字典

1.2.1. for循环****

使用场景:明确循环的次数

I:代词:可迭代对象中的元素轮流赋值给i

list_1 = ['a', 'b', 'c', 'd']
for i in list_1:
print(i)

a

b

c

d

1.2.2. While循环****

使用场景:不明确循环次数

num = 0
while num <= 5:
print('num=', num)
num += 1

num= 0

num= 1

num= 2

num= 3

num= 4

num= 5

1.2.3. 嵌套循环****

循环里面还有循环,第一层循环跑完1次,第二层循环跑n次

for i in range(2):
print('--' * 50)
for k in range(4):
print('第二层循环')

第二层循环

第二层循环

第二层循环

第二层循环

第二层循环

第二层循环

第二层循环

第二层循环

1.2.4. 循环的控制****

1.2.4.1. Break****

结束整个循环语句

1.2.4.2. Continue****

跳过本次循环,开始下一次循环

1.2.5. 遍历****

1.2.5.1. dict****

使用

dict.keys/values()
1.2.5.1.1. 遍历key:****
dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.keys():
print(i)

name

Age
1.2.5.1.2. 遍历values****
dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.values():
print(i)

Alison

25
1.2.5.1.3. 遍历items****

返回元组,不可修改,安全性更高****

dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.items():
print(i)

('name', 'Alison')

('age', '25')

2. 函数****

2.1. 定义****

一段可以被另外一段代码执行的程序

2.2. 语法****

def 函数名():

函数体--语法

return 需要的返回值

2.3. 调用****

函数名()



# 定义函数*
def test_function():
print('我是一个测试函数')
# 调用函数*

if name == 'main':
test_function()

我是一个测试函数

2.4. 参数****

不传会报错

2.4.1. 顺序传参 必传****

def 函数名(参数1,参数2...)

函数体

函数名(传参1,传参2)



def test_function(name, age):
print('我是一个测试函数')*
*if name == 'main':
test_function('Alison', '25')

2.4.2. 关键字参数 - 必传****

def 函数名(参数1,参数2...)

函数体

函数名(参数1=传参1,参数2=传参2)

def test_function(name, age):
print('我是一个测试函数')
if name == 'main':
test_function(name='Alison', age='25')

2.4.3. 不定长参数 必传****

2.4.3.1.  args***

可以传任意多个参数进来

并以tuple接收

def test_function(*args):
print(args)
if name == 'main':
test_function('name','age','test')

('name', 'age', 'test')
2.4.3.2.  kwargs**

不确定需要传递多少个参数的时候,使用关键字参数的形式传递

并以dict接收

def test_function(**kwargs):
print(kwargs)
if name == 'main':
test_function(name='Alison', age=25, sex='女')

{'name': 'Alison', 'age': 25, 'sex': '女'}
2.4.3.3.  args,kwargs*

位置必须args在前,kwargs在后

分别以tuple、dict接收

def test_function(*args,**kwargs):
print(args)
print(kwargs)
if name == 'main':
test_function(1,2,3,4,5,name='Alison', age=25)

(1, 2, 3, 4, 5)

{'name': 'Alison', 'age': 25}

2.4.4. 默认参数****

函数定义的时候就给一个默认值

如果函数调用的时候传入了参数,就是用传入的参数;反之,则使用默认参数

默认参数可以不传递

def test_function(name='Alison',age=25):
print(name,age)
if name == 'main':
test_function('Taylor')



Taylor 25

2.4.5. 拆包****

用于参数传递

1. *

2. **

*args

def test_function(*args):
print(args)
list = [1,2,3,4]
test_function(*list)

(1, 2, 3, 4)



**kwargs

def test_function(**kwargs):
print(kwargs)

dict = {'key1':'val1','key2':'val2'}
test_function(dict) #相当于('key1'='val1','key2'='val2')

{'key1': 'val1', 'key2': 'val2'}

2.5. return返回值****

如果需要返回值,就写return返回内容

反之,就不写,默认返回none

Return是函数执行结束的标识,函数执行遇到return语句,就会结束执行

def test_function(name):
return name
if name == 'main':
result =test_function('张三')
print(result)

张三 



def test_function():
for i in range(10): #0~9*
***print(i)
if i == 3:
return 0
elif i == 4:
print('test')

test_function()

0

1

2

3

2.6. 变量的作用域****

2.6.1. 局部变量****

定义在函数里面,仅限包含的函数可以使用

2.6.2. 全局变量****

定义在函数外面,供全局函数使用

num = '全局变量'
def test_function1():
num = '局部变量'
print(num)
def test_function2():
print(num)

test_function1()
test_function2()

局部变量

全局变量

2.6.3. Global(了解)****

(更好用的方法是 类:类属性)

将局部变量设置成全局变量

语法:global 变量名

注意:只能定义,不能直接赋值,否则会报错

def function():
global test_str
test_str = 'test'
print(test_str)

def function2():
function() #只有在函数运行起来才会在内存中去创建变量,否则代码没运行,直接调用会出错
print(test_str)

function2()

test

test

2.7. 常用函数****

2.7.1. range()****

生成一个从0到x的序列对象,左闭右开

参数:[0、4,1]

1. start:默认为0

2. Stop:必传参

3. step:默认为1,同切片

用途:利用下标操作list

list_1 = ['a', 'b', 'c', 'd']
for k in range(len(list_1)):   # k: 下标,通过下标打印*
***print(list_1[k])

2.7.2. Isinstance()****
判断一个函数对象是否是一个已知类型,返回布尔值

num = 1
res = isinstance(num,int)
print(res)

True

2.7.3. Zip()****

Zip(列表1,列表2)****

def test():
list1 = ['name', 'sex', 'age']
list2 = ['Alison', 'F', '25']
key_val = zip(list1, list2)
print(list(key_val))
if name == 'main':
test()

[('name', 'Alison'), ('sex', 'F'), ('age', '25')]

标签:function,name,1.2,python,控制流,笔记,print,test,def
From: https://blog.csdn.net/2401_83060956/article/details/137238987

相关文章

  • 华为 AscendCL库 笔记
    1.AscendCL主要接口调用流程AscendCL初始化:初始化整个AscendCL的运行时环境,这一步是不可缺少的。运行管理资源申请:手动申请所需要的计算资源和运行时资源生成模型om文件(在编码前完成)根据实际需求来判断是需要调用单算子进行计算还是调用模型进行推理如果是调用单算子进行......
  • QtQuick 学习笔记(一)容器组件
    1.QGroupBox功能提供分组框支持,可在其中布置多种窗口部件常用函数与组件voidsetChecked(boolchecked)QGroupBox使能voidsetTitle(constQString&title)标题文本设置效果及功能测试GroupBox.cpp#include<QApplication>#include<QDialog>#include......
  • Python与CAD系列高级篇(二十六)根据图片生成cad轮廓矢量
    目录0简述1功能描述2应用3功能实现0简述本篇介绍根据图片文件提取出轮廓特征信息并在cad中绘制出相应的轮廓矢量。1功能描述功能:①获取对象轮廓的图片文件。②对图片进行分析与轮廓提取。③将提取的轮廓信息通过pyautocad绘制在cad中。2......
  • Python的opencv库的函数合集(持续更新中)
    为自己也为别人,整合opencv的函数,欢迎纠错!目录1.imread()2.cv2.imshow()1.imread()介绍:cv2.imread()是OpenCV库中的一个函数,专门用于读取图片文件并将其转换为NumPy数组。此函数对于图像处理和计算机视觉应用非常有用,因为它提供了读取图片到程序中的基本能力。格式:参数......
  • python 闭包的理解
    目录一、什么是闭包?二、闭包的工作原理三、示例:创建一个简单的闭包四、闭包的用途五、闭包的应用场景1.数据封装和信息隐藏2.保持状态3.函数工厂4.延迟计算六、结论一、什么是闭包?  闭包是函数式编程的一种重要概念,在Python中也得到了支持。一个闭包......
  • Python快速入门系列-7(Python Web开发与框架介绍)
    第七章:PythonWeb开发与框架介绍7.1Flask与Django简介7.1.1Flask框架Flask的特点Flask的安装一个简单的Flask应用示例7.1.2Django框架Django的特点Django的安装一个简单的Django应用示例7.2前后端交互与数据传输7.2.1前后端交互7.2.2......
  • python搜索电影在线观看
    练手的项目,搜索的资源大部分都是枪版的。。。importmechanicalsoupimportreimportjsondefextract_episode_number(label):match=re.search(r"(\d+)[^0-9]*集",label)ifmatch:returnint(match.group(1))else:return1defget_movi......
  • vscode中python下面的代码都变暗了
     现象: 分析在VisualStudioCode(VSCode)中,如果Python代码变暗,这通常是因为编辑器将这些代码识别为未使用或未激活的代码。这可能是由几个原因引起的:代码未被执行或引用:如果代码块没有被函数、类或其他代码结构所引用,VSCode可能会将其视为未使用的代码。代码被......
  • 基于 Python + Requests + Unitest + HwTestReport的API自动化测试框架
    一、框架目录结构概览 二、框架执行流程简介 三、框架目录结构简介▹case:存放测试用例▹data:存放测试数据及测试数据的处理▹config:存放相关配置文件(Token获取、Excel测试数据读取、requests二次封装等)▹file:存放测试接口信息▹report:存放测试报告▹to......
  • Python 代码混淆工具概述
    在保护Python代码安全方面,有多种混淆工具可供选择,包括Cython,Nuitka,Pyminifier和IPAguard。本文将介绍这些工具的特点和适用情况,以及在实际应用中的注意事项。 ......