PYTHON 函数

1.函数的格式

PYTHON函数格式为

def 函数名(参数1,参数2...):
	代码块

函数的代码块都要有相应的缩进。否则,不是函数的内容。

2.传参类型

PYTHON中的实参可分为位置实参,关键字实参。

2.1位置实参

位置实参是调用函数时,传入的实参顺序必须要和形参相同。

def test(a,b):
	print(a + " is a")
	print(b + " is b")
	
test("BEN","DOG")
输出::
BEN is a
DOG is b

如果是test(“DOG”,“BEN”)那么a就是DOG,b是BEN。根据实参的位置传给相应的形参。

2.2关键字实参

关键字实参可不用管调用时实参的位置,能将对应的实参传递给相应的形参。

def test(a,b):
	print(a + " is a")
	print(b + " is b")
	
test(b="DOG",a="BEN")
输出::
BEN is a
DOG is b

指定将"DOG"赋值给b,"BEN"赋值给a后,即便调用时的顺序是DOG的在前面,BEN的在后面。DOG仍然是赋值给b,BEN仍然是赋值给a

2.3默认参数

可以在函数定义时在参数后面赋值,这样如果没有传递相应的实参的话,形参采用默认值,但默认参数需放在参数最后。

def test(a,b='DOG'):
	print(a + " is a")
	print(b + " is b")
	
test("BEN")
test("BEN","CAT")
输出::
BEN is a
DOG is b
BEN is a
CAT is b

3.函数返回值

函数中可以返回字符串,列表,字典等等。一旦return函数终止。

返回列表
def test(a,b):
	l = list(range(a,b))
	return l
	
a = test(1,5)
for a_ in a:
	print(a_)
输出::
1
2
3
4

返回字典
def test(a,b):
	d = {}
	d['a'] = a
	d['b'] = b
	return d
	
d = test("BEN","DOG")
for key,value in d.items():
	print(key + " is " + value)
输出::
a is BEN
b is DOG

4.将若干个参数形成元组

定义函数的时候,如果在形参前面加上*表示将若干个实参形成元组后赋值给形参,只能在参数的最后。这里关键字实参可能就不怎么适用了。

def test(a,*b):
	l = []
	l.append(a)
	for l_ in b:
		l.append(l_)
	return l
	
l = test(1,2,3,4)
for l_ in l:
	print(l_)
输出::
1
2
3
4

5.将若干个参数形成字典

函数定义时在参数前面加上**,调用函数时,实参以关键字实参给出,传递给形参时会将其形成字典赋值给形参。

def test(a,**b):
	d ={}
	d['a'] = a
	for b_k,b_v in b.items():
		d[b_k] = b_v
	return d
	
d = test("BEN",b="DOG",c="CAT")
for d_k,d_v in d.items():
	print(d_k + " is " + d_v)
输出::
a is BEN
b is DOG
c is CAT

6.模块

模块是以.py为后缀的文件,类似于C里面的cpp或头文件。可以将函数放在一个模块中,然后引入整个模块,或模块中的某个函数来使得代码更加清晰。
引入模块的句式:

import 模块名:引入整个模块的内容,调用函数或数据时用模块名.函数名/数据名
import 模块名 as 名称:引入整个模块的内容,调用时同上,需将模块名用名称代替。 
from 模块名 import 函数名或数据名:仅仅将函数或数据引入,调用时直接函数名/数据名
from 模块名 import 函数名或数据名 as 名称:同上,函数名/数据名用名称代替
from 模块名 import *:引入模块全部内容,调用时直接用函数名/数据名
e.g:
from test import test
从test.py文件中引入test
内容概要:本文详细介绍了水中有限长加肋圆柱壳体振动和声辐射的近似解析解,并提供了完整的Python实现。文中首先阐述了问题背景,即加肋圆柱壳体作为水下航行器的主要结构形式,肋骨的作用被简化为只有法向力。接着,通过一系列关键方程(如模态振动速度方程、壳体机械阻抗、特征矩阵元素等),推导出加肋圆柱壳体的振动和声辐射特性。Python代码部分实现了这些理论,包括定义`CylindricalShell`类来封装所有计算功能,如初始化参数、机械阻抗、辐射阻抗、肋骨阻抗、模态速度、辐射功率和辐射效率的计算。此外,还扩展了带刚性圆柱障板的圆柱壳体类`CylindricalShellWithBaffle`,并引入了集中力激励、简支边界条件和低频段计算的内容。最后,通过具体示例展示了如何创建壳体对象、设置参数、计算频率响应以及绘制结果图表,验证了加肋对辐射声功率和声辐射效率的影响。 适合人群:具备一定编程基础和声学基础知识的研究人员、工程师,特别是从事水下声学、船舶工程和振动分析领域的专业人员。 使用场景及目标:①通过代码实现和理论推导,深入理解加肋圆柱壳体的振动和声辐射特性;②分析肋骨对壳体声学性能的影响,优化结构设计;③利用Python代码进行数值模拟,评估不同参数配置下的声辐射效率和功率;④为实际工程项目提供理论支持和技术参考。 其他说明:本文不仅提供了详细的数学推导和Python代码实现,还讨论了实际应用中的注意事项,如参数调整、高频模态考虑、肋骨模型细化和数值稳定性处理。建议读者结合实际需求,灵活运用文中提供的理论和代码,进行更深入的研究和实践。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值