北京诺信创联-Python爬虫工程师

本文探讨了Python编程中常见的技巧,如装饰器、变量作用域及类的实例化过程,并通过具体示例展示了这些概念的实际应用。此外,还介绍了SQL函数及连接方式,最后通过一个实际案例演示了如何利用SQL查询汇总特定数据。

1. 下面两段代码的输出是什么?

第一段代码:

a = 1

def fun(a):
    a = 2

fun(a)
print(a)

输出结果:

1

第二段代码:

a = []

def fun(a):
    a.append(1)
fun(a)
print(a)

输出结果:

[1]

2. 写一个装饰器

def singleton(cls, *args, **kw):
    instances = {}
    def getinstance():
        if cls not in instances:
            instances[cls] = cls(*args, **kw)
        return instances[cls]
    return getinstance

@singleton
class MyClass:
  ...

3. Python中会有函数或成员变量包含单下划线前缀和结尾,和双下划线前缀结尾,例如_x_,或__x__,区别是什么?

  • _x_: 不能用于from module import * 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。
  • __x__: 对Python 来说有特殊含义,魔法方法。

4. 描述__new____init__的区别。

  • __new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供

  • __new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例

  • __init__有一个参数self,就是这个__new__返回的实例,__init____new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值

  • 我们可以将类比作制造商,__new__方法就是前期的原材料购买环节,__init__方法就是在有原材料的基础上,加工,初始化商品环节

5. 请写出你使用过的SQL函数(function)

  • avg(column): 返回某列的平均值
  • count(column): 返回某列的行数(不包括NULL值)
  • count(*): 返回被选行数
  • max(column): 返回某列的最大值
  • min(column): 返回某列的最小值
  • sum(column): 返回某列的总和

6. 请写出Mysql中有多少中连接(join)方式。

  • inner join: 内连接
  • join: 如果表中有至少一个匹配,则返回行
  • left join:即使右表中没有匹配,也从左表返回所有的行。
  • right join: 即使左表中没有匹配,也会从由表返回所有的行
  • full join: 只要其中一个表中存在匹配,就返回行。

7. 有两张MySQL的表,请编写一段SQL,查询每个省有多少数量的医生。

Table A 医院

Hospital_idProvincename
1四川华西医院
2河北河北省人民医院
3北京协和医院
4北京北医三院

Table B 医生

idnameHospital_id
1王强2
2张倩3
3赵日天4
4叶良辰1
select count(Province) from table_a,table_b where table_a.Hospital_id = table_b.hospital_id group by Province; 
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文系统介绍了基于最小势能原理(即能量法)的物理信息神经网络(PINNs)在求解固体力学二维问题中的理论框架与应用实践,并提供了完整的PyTorch代码实现案例。该方法通过将物理系统的总势能泛函嵌入神经网络的损失函数中,利用深度学习框架直接求解满足控制方程和边界条件的位移场近似解,避免了传统数值方法对网格划分的依赖。文章重点剖析了基于变分原理的能量形式如何替代强形式偏微分方程构建损失项,提升了求解的稳定性与泛化能力。同时,研究对比了不同PINNs架构与训练策略在处理复杂几何形状、非均匀材料属性及非线性力学行为时的精度、收敛性与计算效率,验证了其在处理经典弹性力学问题(如平面应力/应变问题)中的有效性与潜力。配套代码便于读者复现结果并拓展至更广泛的工程应用场景。; 适合人群:具备一定深度学习基础和固体力学知识的研究生、科研人员及工程技术从业者,特别适用于从事计算力学、智能仿真、物理驱动建模、结构分析等方向的研究者。; 使用场景及目标:①掌握基于能量法的PINNs建模范式,理解其相较于传统有限元法的优势与局限;②研究物理信息神经网络在无网格求解复杂边界与非线性问题中的能力;③对比不同神经网络结构对求解精度与收敛速度的影响,推动PINNs在工程实际中的落地应用。; 阅读建议:建议读者结合所提供的PyTorch代码逐模块分析网络构建、能量泛函定义、边界条件施加及训练流程设计,深入理解物理约束与机器学习模型的融合机制,并鼓励在自定义问题中调整网络参数、采样策略与损失权重以优化性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值