Python快速入门2:函数、循环、判断(需要有编程基础)

Python函数:

定义函数语法:

python 复制代码
def functionName(parameters):
   function_body
   return [expression]

例:定义一个函数实现两数相交换:

python 复制代码
def swap_AB(a,b):
    temp = a
    a = b
    b = temp
    return a,b
a,b = 1,2
a,b = swap_AB(a,b)
print(f"a = {a},b = {b}")

Python函数参数:

在函数传递参数的过程中,有两种情况:

  1. 基本类型(如整数、浮点数、布尔值等)的传递方式是值传递。函数接收到的是参数值的副本,对参数的修改不会影响原始变量的值。
  2. 对于可变类型(如列表、字典等),参数传递的方式类似于地址传递。函数接收到的是对象的引用, "对象的引用" 指的是变量指向的内存地址,而不是对象本身,对对象的修改会影响原始变量

例1:基本类型

python 复制代码
def modify_value(x):
    x = x + 1

num = 5
modify_value(num)
print(num)  # 输出 5,因为函数内的修改不会影响原始变量 num 的值

例2:可变类型

python 复制代码
def modify_list(lst):
    lst.append(4)

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # 输出 [1, 2, 3, 4],因为函数内修改了原始列表的值

默认参数:

默认参数就是调用函数时,默认参数的值如果没有传入,则被认为是默认值。

例如:

python 复制代码
def printinfo(name = "Gao", age = 18):
    "打印任何传入的字符串"
    print ("Name: ", name)
    print ("Age: ", age)
    return

# 调用printinfo函数
printinfo()
#输出为:
#Name:  Gao
#Age:  18

不定长参数:

当一个函数传入的参数不确定有多少个时,就可以声明使用不定长参数,函数语法如下:

python 复制代码
def functionname([formal_args,] *var_args_tuple):
   "函数_文档字符串"
   function_body
   return [expression]

第一个为正常参数,*var_args_tuple为不定长参数。例如:

python 复制代码
def printInfo(arg1, *vartuple):
    print(arg1)
    for var in vartuple:
        print(var)
    return
printInfo(70, 60, 50)
#输出为70 60 50

匿名函数:

使用 lambda 来创建匿名函数

  • lambda只是一个表达式
  • lambda函数不能访问自有参数列表之外或全局命名空间里的参数
  • lambda不等同于C或C++的内联函数

例如:

python 复制代码
sum = lambda arg1, arg2: arg1 + arg2

print("相加后的值为 : ", sum(10, 20))
#输出:相加后的值为 :  30

全局变量和局部变量:

定义在函数内的变量为局部变量,定义在函数外的变量为全局变量,要想在函数内使用全局变量,就要使用global声明此变量。

例如:

python 复制代码
InData = 1
def func():
    InData = 2
    print(InData)
func()
print(InData)
#输出为2 1

使用global声明全局变量:

python 复制代码
def func():
    global InData
    InData = 2
    print(InData)
func()
print(InData)
#输出为2 2

Python循环:

for循环:

for循环的语法为:

python 复制代码
for <variable> in <sequence>:
    <func_code>
else:
    <else_code>

sequence可以为不同类型的变量,例如,列表,元组,集合,字典,字符串,range对象等,注意:使用字典时,variable每次循环的值对应字典的的键,而不是字典的值

例:

python 复制代码
a = ["1","2","3"]
b = (1,2,3)
c = {1:"a",2:"b",3:"c"}#字典
for i in a:
    print(i)
for j in b:
    print(j)
for k in c:
    print(k)
#输出:1 2 3 1 2 3 1 2 3

例2(range):

range函数用法:range(起始值,结束值,步长)

例如:

python 复制代码
for i in range(1,10,2):
    print(i)
else:print("循环结束")
#输出:1 3 5 7 9 循环结束

while循环:

while循环格式:

python 复制代码
while <expression>:
    <while_code>
else:
    <else_code>

例如:

python 复制代码
count = 0
while count < 3:
    print(count)
    count = count + 1
else:print("while循环结束,count值为:",count)
#输出:0 1 2 while循环结束,count值为: 3

Python判断:

判断的语法格式如下:

python 复制代码
if condition_1:
    code_1
elif condition_2:
    code_2
else:
    code_3

例:

python 复制代码
is_happy = True
mood_index = int(input("心情指数是:"))
if mood_index >= 60:
    print("可以打游戏")
    print("原神启动")
elif mood_index <60 and mood_index >= 40:
    print("再等等")
else:#mood_index<40
    print("不可以打游戏")
相关推荐
Dream of maid6 分钟前
Python基础 6 (面向对象)
开发语言·python
郝学胜-神的一滴9 分钟前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
她说..12 分钟前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
Mr_Tony16 分钟前
Swift 中的 Combine 框架完整指南(含示例代码 + 实战)
开发语言·swift
无心水19 分钟前
22、Java开发避坑指南:日期时间、Spring核心与接口设计的最佳实践
java·开发语言·后端·python·spring·java.time·java时间处理
Hello.Reader23 分钟前
双卡 A100 + Ollama 最终落地手册一键部署脚本、配置文件、预热脚本与 Python 客户端完整打包
开发语言·网络·python
vx_biyesheji000124 分钟前
计算机毕业设计:Python网约车订单数据可视化系统 Django框架 可视化 数据大屏 数据分析 大数据 机器学习 深度学习(建议收藏)✅
大数据·python·机器学习·信息可视化·django·汽车·课程设计
AC赳赳老秦28 分钟前
OpenClaw实战案例:用1个主控+3个Agent,实现SEO文章日更3篇
服务器·数据库·python·mysql·.net·deepseek·openclaw
cch891832 分钟前
汇编VS C++:底层控制与高效开发之争
java·开发语言
智算菩萨32 分钟前
PyCharm版本发展史:从诞生到AI时代的Python IDE演进历程
ide·人工智能·python·pycharm·ai编程