#Python内置函数、自定义函数#通过help(函数名称)查询函数的具体用法dir(__builtins__) # 查看内置函数
#自定义函数#运用def语句defArithmetic_mean(r):# 定义算数平均收益率 total=sum(r) n=len(r) mean=total/nreturn mean
#创建上证涨跌幅列表index_SH=[-0.013456,-0.022609,0.002309,-0.051316,-0.014371,0.024895,0.005815,0.024056]
#运用自定义函数计算算数平均值mean1=Arithmetic_mean(r=index_SH)print(round(mean1,7)) # 保留至小数点后7位 #-0.0055846
lambda_mean=lambda x: sum(x)/len(x) # 用lambda自定义函数计算算数平均值
mean2=lambda_mean(x=index_SH)print(round(mean2,7)) #-0.0055846
#Python类#在Python中,每次创建一个类对象,就意味着允许这个类对象做出新的实例,这个操作称为实例化操作class calculate: Sum=sum(index_SH) # 求和 Max=max(index_SH) # 求最大值 Min=min(index_SH) # 求最小值 Mean=sum(index_SH)/len(index_SH)
X=calculate() #类对象的实例化type(X) # __main__.calculateindex_sum=X.Sumindex_sum # -0.044677index_max=X.Maxindex_max # 0.024895index_min=X.Minindex_min # -0.051316index_mean=X.Meanindex_mean # -0.005584625
#带参数的类对象class calculate_new: def __init__(self,data): # self代表参数就是实例对象本身,data代表需要输入的数据 self.sum=sum(data) self.max=max(data) self.min=min(data) self.mean=sum(data)/len(data)Y=calculate_new(data=index_SH)Y.mean # -0.005584625
#类对象的继承class calculate_new1(calculate_new): # 将类对象calculate_new作为基类,创建派生类 def f(self): max_min=self.max-self.minreturn max_minz=calculate_new1(data=index_SH) # 类对象的实例化运用z.f() # 0.076211
#条件语句#条件语句是由判断语句与执行语句组成,并且语句之间运用关键字if、elif和else进行串联#循环语句#循环语句分为for循环语句与while循环语句#循环控制命令#break终止循环#continue终止当次循环,并在跳出该次循环后直接执行下一次循环#pass不执行任何操作,一般用于占据一个位置n=2list_range=[]while n<=10: list_range.append(n) n+=1print(list_range) # [2, 3, 4, 5, 6, 7, 8, 9, 10]
#深证每日涨跌幅数据列表index_SZ=[-0.020725,-0.027031,-0.00294,-0.060843,-0.016634,0.043723,-0.002251,0.036929]
for j in index_SZ:if j<-0.05:breakprint(j)#-0.020725#-0.027031#-0.00294
#注意print()函数的缩进for j in index_SZ:if j<-0.05:breakprint(j) # -0.060843
for j in index_SZ:if j>0:continueprint(j)#-0.020725#-0.027031#-0.00294#-0.060843#-0.016634#-0.002251
for j in index_SZ:if j>0: passelse:print(j)#-0.020725#-0.027031#-0.00294#-0.060843#-0.016634#-0.002251
r_list1=[] # 存放涨幅超过0.02的数据初始空列表r_list2=[] # 存放跌幅超过0.02的数据初始空列表r_list3=[] # 存放涨跌幅介于0.02的数据初始空列表for j in index_SZ:if j>0.02: r_list1.append(j)elif j<-0.02: r_list2.append(j)else: r_list3.append(j)print(r_list1) # [0.043723, 0.036929]print(r_list2) # [-0.020725, -0.027031, -0.060843]print(r_list3) # [-0.00294, -0.016634, -0.002251]
#模块导入方式#import 模块名称#import 模块名称 as 名称缩写#import 模块名称.子模块名称 as 名称缩写#from 模块名称 import 函数名称#from 模块名称.子模块名称 import 函数名称import mathdir(math)