python学习笔记——控制流

目录

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')]

相关推荐

  1. Python输入输出学习笔记

    2024-04-02 20:00:04       30 阅读
  2. C# 学习笔记2-控制与类型转换

    2024-04-02 20:00:04       33 阅读
  3. python 条件控制语句(基础)学习笔记

    2024-04-02 20:00:04       35 阅读
  4. Python学习笔记(四)流程控制方法

    2024-04-02 20:00:04       31 阅读
  5. Python】(一)复习重点——控制

    2024-04-02 20:00:04       10 阅读
  6. python笔记(12)条件控制

    2024-04-02 20:00:04       12 阅读
  7. 笔记】Helm-5 Chart模板指南-6 控制

    2024-04-02 20:00:04       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 20:00:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 20:00:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 20:00:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 20:00:04       18 阅读

热门阅读

  1. 【python】dict转json存入sql

    2024-04-02 20:00:04       16 阅读
  2. 【算法集训】基础算法:双指针

    2024-04-02 20:00:04       17 阅读
  3. 李白打酒加强版(c++实现)

    2024-04-02 20:00:04       13 阅读
  4. 2024-03-27 问AI: 介绍一下深度学习中的 Darknet

    2024-04-02 20:00:04       12 阅读
  5. 33-2 XXE漏洞 - XXE外部实体注入原理

    2024-04-02 20:00:04       13 阅读
  6. 谈谈Python中的列表推导式和字典推导式

    2024-04-02 20:00:04       14 阅读
  7. Vue3创建空对象方法及推荐

    2024-04-02 20:00:04       12 阅读
  8. ChatGPT助力:提升学术论文写作的智能利器

    2024-04-02 20:00:04       20 阅读
  9. Maximum Product(UVA 11059)

    2024-04-02 20:00:04       18 阅读