大家好,我是团长。
print(1 + 2) #输出3
print(1.2 + 1.5) #输出2.7
print(10 - 3) #输出7
print(3.5 - 2.5) #输出1.0
print(2 * 3) #输出6
print(6 / 2) #输出3.0
print(10 // 3) #输出3
print(10 % 3) #输出1
if 10 > 3:
print('以上条件成立!') #打印出‘以上条件成立!’
str1 = 'Hello, ANSA!'
srt2 = "Hello, ANSA!"
str3 = '''Hello, ANSA!'''
str4 = """Hello, ANSA!"""
old = 'PART10235-FS01'
part = old[0:8]
mat = 'DC01'
prop = 1.0
new = part + '_' + mat + '_T' + str(int(prop * 100))
#int函数将浮点型转换为整型 str函数将数值类型转换为字符串。
new = 'PART10235_DC01_T100'
print(new.find('DC01')) #返回10
print(new.find('T100')) #返回15
print(new.find('DC05')) #返回-1
lst = [4, 6, 1, 3, 2, 8]
lst1 = lst[0:4]
print(lst1)
lst2 = sorted(lst)
print(lst2)
该图片为LSDYNA模板下一个零件的信息,包含了Name、PID、MID、T1等信息,下面以上图所示信息为例,介绍字典的用法:
info = {'Name': 'A-PILLAR', 'PID': 1029, 'MID': 3, 'T1': 1.5}
# 获取Name的值的两种方法如下:推荐第二种,当info不存在时,第一种报错,第二种返回None
print(info['Name'])
print(info.get('Name'))
# 修改Name的值为"1234567_DC01_T100'
info['Name'] = '1234567_DC01_T100'
print(info)
# 修改厚度为2.0
info['T1'] = 2.0
print(info)
上述代码的运行效果如下:
lst = [1, 2, 1, 3, 2, 4, 6, 8, 3]
set1 = set(lst)
lst2 = list(set1)
print(lst2) #打印出[1, 2, 3, 4, 6, 8]
接下来给大家简单介绍下条件分支、循环、函数、类、模块的导入等部分知识。
2.1、条件判断分支
以下展示如何根据PID名称进行判断然后进行材料属性ID的赋值。
Prop_name = '1234567_DC01_T120'
if Prop_name.find('DC01') > -1:
mat_id = 10001
elif Prop_name.find('DC03') > -1:
mat_id = 10002
else:
mat_id = 10000
print(mat_id)#打印出10001
2.2、循环
循环包含for循环和while循环,其中for循环我们用得较多,因此主要介绍for循环的用法,如:
prop_lst = ['1234567_DC01_T120', '2345678_B280VK_T100', '3456789_B340/590DP_T150']
for prop in prop_lst:
print(prop) #打印出1234567_DC01_T120,2345678_B280VK_T100,3456789_B340/590DP_T150
2.3、函数
运用函数可以将重复的代码进行封装,减少代码量。函数可以带返回值、也可以不带返回值。如下两种:
def fun1(a, b):
sum = a + b
return sum
def fun2(a, b):
sum = a + b
f1=fun1(3, 4)
print(f1)#print 7
f2=fun2(3, 4)
print(f2)#print None
2.4、类
类为更高级别的抽象。
简单举个例子,所有的Shell单元都应该有同样的属性,如EID、PID、N1、N2、N3、N4等,因此可以把所有的Shell单元归为同一个带有以上6个属性的类,如下代码:
class Shell_Element:
def __init__(self, EID, PID, N1, N2, N3, N4):
self.EID = EID
self.PID = PID
self.N1 = N1
self.N2 = N2
self.N3 = N3
self.N4 = N4
def get_EID(self):
return self.EID
def get_PID(self):
return self.PID
def get_N1(self):
return self.N1
def get_N2(self):
return self.N2
def get_N3(self):
return self.N3
def get_N4(self):
return self.N4
elem1 = Shell_Element(13721, 1, 12545, 14029, 10822, 10821) #定义如下图所示的的element实例
print(elem1.get_EID()) #打印出13721
elem1.set_EID(123) #设置EID为123
print(elem1.get_EID()) #打印出123
上述代码的所有get函数为获得某属性,set函数为修改某属性,后续具体开发实例中再进行讲解。
2.5、模块导入
模块的导入方法很多,可以是如下多种方式:
import ansa #直接导入某模块
from ansa import constants #导入ansa模块中的某子模块、函数、类
import tkinter as tk #将tkinter模块名以简化名tk的形式导入
from ansa import * #导入ansa模块中的所有子模块、函数、类,为避免名字冲突,一般不建议用此种方式
本期仅讲述在ANSA的二次开发中会用到的Python语言的基础知识,上述基本知识基本可以覆盖在ANSA中的使用了。Python本身很强大的各个包,在ANSA中反而用处有限。本教程并不会让你成为二次开发的大神,但是基于明确目标的二次开发练习会。所以,只要你有想法,就开始,完事儿。
本文完。