Python新手问题:关于函数的基本用法与常见疑问
shell 的函数中如果没写 return ,在调用的时候相当于调取了函数中的所有内容,但 python 中如果不写 return 只会返回 None ,请问在 python 中怎样实现 shell 那样的函数调用,调取一个函数中的全部内容?
Python新手问题:关于函数的基本用法与常见疑问
8 回复
尴尬了,看不懂。。。
Python函数基础:定义、调用与核心概念
函数是Python中组织代码的基本单元。一个典型的函数定义包括def关键字、函数名、参数列表和冒号,后跟缩进的函数体。
def greet(name, greeting="Hello"):
"""返回一个问候字符串"""
return f"{greeting}, {name}!"
# 调用函数
result = greet("Alice")
print(result) # 输出: Hello, Alice!
# 使用关键字参数
result2 = greet(greeting="Hi", name="Bob")
print(result2) # 输出: Hi, Bob!
关键点解析:
- 参数传递:支持位置参数和关键字参数。位置参数按顺序匹配,关键字参数通过参数名指定,顺序可以打乱。
- 默认参数:在定义函数时可以为参数指定默认值(如
greeting="Hello"),调用时可不传递该参数。 - 返回值:使用
return语句返回结果,没有return或return后无值则返回None。 - 文档字符串:函数定义后的第一行三引号字符串是文档字符串,用于说明函数功能。
新手常见误区:
- 可变默认参数陷阱:默认参数值在函数定义时计算一次,而非每次调用时。
def bad_append(item, lst=[]): # 错误:所有调用共享同一个列表 lst.append(item) return lst def good_append(item, lst=None): # 正确:每次调用创建新列表 if lst is None: lst = [] lst.append(item) return lst - 变量作用域:函数内部赋值的变量默认为局部变量,要修改外部变量需使用
global关键字(通常应避免)。
一句话建议:多写多练,从简单函数开始逐步构建复杂功能。
同没看明白,说的啥意思
比如在 shell 里:
example(){
a=1
}
example
echo $a
运行后输出 1
在 python 里如果不写 return ,返回的值就是 None ,
python 里可以做到 shell 这种形式的函数调用吗 无需写明 return 具体返回值 调用函数中的所有语句
虽然很困难,但是我觉得我肯定猜中了你的意思。我猜你的问题应该是在 python 函数内部给一个临时变量赋值,但是它在函数的外层没法表达出来,除非 return 它,对吗?
如果是的话,解决办法是在赋值 a 的上一行声明一句<br>global a<br>
全局变量?
ok 是全局变量 明白了 感谢大家

