码迷,mamicode.com
首页 > 编程语言 > 详细

Python股票量化投资-3.python基础

时间:2020-11-24 13:00:44      阅读:16      评论:0      收藏:0      [点我收藏+]

标签:合并   最大   意义   min   不可   abc   异常处理机制   except   error:   

Python股票量化投资-1.开发环境部署 

Python股票量化投资-2.量化投资介绍

 

继续开始今天的内容,主要介绍 PyCharm的开发使用【这IDE对JAVA人员来说不陌生】

Python的语法推荐看书籍: Python基础教程(第二版)人民邮电出版   【推荐看前5章】

有Java基础的,一看基本就会,就是些语法不同,逻辑一样 

 

1、打印

技术图片

 

 

打印中文要在,开头处添加utf8转码,否则报错:SyntaxError: Non-ASCII character ‘\xe4‘  

 

2、exit() 

技术图片

 

 

 程序只运行到第4行,退出,常用来调试程序

 

3、python基本类型

  注释:以#开头为注释,直到当前行结束为止

  control  + / 多行同时注释  

        技术图片

 

 

 

 4、 数字

  以数字,或者 -  开头的微数字。带小数点   . 的为浮点数,不带小数点的为整数。

       支持科学计数法,例如:52.3E-4

  技术图片

 

 

 

5、字符串

  以单引号,双引号,三引号 开始,同样的符号结束

  技术图片

 

 

 

6、布尔值

  只有两个,True和False, 大小写敏感

  技术图片

 

 

 

7、空值

  只有一个,None, 大小写敏感,表示没有值的值-NULL

  技术图片

 

8、变量的命名规范

  1.变量需要一个名字

  2.取名规则:首字母需要是字母或下划线,其余部分可以是字母,下划线和数字

  3.给变量取个有意义的名字非常重要

 

9、计算符号

  1.算符是连接一个或多个元素的符号,用来表达计算

  2.常见算术符号:+ - * / %

  3.常见比较符号: ==  != > <  >= <=

       4.常见布尔符号:and  or  &  | 

    and 【&&】 两者都是True , 输出结果就是True,有一个False,结果为False

    or 【||】 其实一个为True,结果为True

    

 

10、内置数据结构

  1.   list 和 dict最为常用
  2.   list ,列表 , 或者叫做数组
  3.   dict ,  字典

10.1、list[]

  1.具有顺序的一组对象,其中的元素不需要是同类型

  2.list常见操作:索引,切片,加法,乘法,判断,删除,长度,最值

  3.list常见方法:append , extend  , sort , reverse

 

# -*- coding: utf8 -*-

#使用[]中括号表示新建一个数组
list_var = [] #这是一个数组
print list_var,type(list_var)

#list是具有顺序的一组对象,其中元素类型可以不同
list_var = [1,2,None,3.4,five,,22,33,44,55]
print list_var

#list常见操作
print list_var[0] #取出第0元素
print list_var[1] #取出第0元素
print list_var[3] #取出第0元素
#print list_var[20] #取出第0元素 , 数组溢出list index out of range
print list_var[-1] #倒数第1个元素
print list_var[-3] #倒数第3个元素

#list切片操作
print list_var[3:8]  #取从下标3,到下标8位置
print list_var[:2] #取从下标0开始,到下标2结束
print list_var[3:] #取从下标3开始,到下标结束
print list_var[1:3:1]  #取从下标1到3,每间隔2个取1个

#list相加
list_var1 = [1,2,3,4,5]
list_var2 = [6,7,8,9]
print list_var1 + list_var2  #两个list相加

#list常见操作:判断一个元素是否在list当中
list_var3=[1,2,3,4,5,6,7]
print 1 in list_var3 #判断1是否在,list3中
print 4 in list_var3 #判断4是否在,list3中

#list常见操作: len,max,min
list_var4 = [1,2,3,4,5,6,7,,,,99999]
print len(list_var4)  #list长度
print len([])         #空list长度
print max(list_var4)  #list中最大元素
print min(list_var4)  #list最小元素
del list_var4[0]  #删除list中第1个元素
print len(list_var4)  #list长度

#list常见操作:如何查找一个元素在list中位置
list_var5 = [1,2,3,4,5,6,7,,,,99999]  #如何知道 5在元素下标位置
print list_var5.index(5)

#list常见操作:在后方增加一个元素
list_var6 = [1,2,3]
print list_var6
list_var6.append(4)
print list_var6
list_var6.append([5,6,7])  #list中元素有list
print list_var6
list_var6.extend([8,9,10])  #list合并
print list_var6

#list常见操作:逆序,排序
list_var7 = [1,2,3,4,5,6]
list_var7.reverse()  #倒序
print list_var7
list_var7 = [4,3,2,9,1]
list_var7.sort()  #从小到大排序
print list_var7

#list常见操作: range函数
#rang函数用于快速创建[0,1,2,3,4,5,6...]这样的list
print range(5)  #创建从0-4这样数组
print range(1,5) #创建数组,取小标1-5
print range(1,10,3) #创建数组1-10,每间隔3取一个

 

11、字典

  1.具有一序列成对的对象。一个叫做key, 一个叫做value, 其中的元素(包括可key和value)不需要是同类型

  2.无顺序,key不可重复

  3.dict的常见操作: 索引,增加,修改,删除,判断,keys ,values

# -*- coding: utf8 -*-

#使用{}大括号就可以新建dict
dict_var = {} #空dict
print dict_var, type(dict_var)

#具有一系列成对的对象,key,value键值对
dict_var2 = {sz000222:万科,sh300:安记}
print dict_var2

#字典是无需的,key不可重复
dict_var3 = {sz0001:万科,sh300:安记}
#print dict_var3[0]  #因为没有顺序,所以不能采用list[]下标方式获取元素

#dict常见操作: 根据key的值,获取value
print dict_var3[sz0001]
print dict_var3.get(sz0001) #效果一样

#dict常见操作: 增加,修改一对key:value
dict_var3[add] = add-value  #不存在 增加
print dict_var3
dict_var3[add] = add-val2  #存在,则修改
print dict_var3

#dict常见操作:判断一个key是不是在dict里面
print add in dict_var3

#dict常见操作:输出一个dict中所有的key和value
print dict_var3.keys()   #输出所有key
print dict_var3.values() #输出所有value

 

12、字符串常见操作

  1.转义字符:在字符串中表达某些特殊字符时需要转义

  2.Raw String:在字符串的开始加r , 使得字符串不发生转义

  3.在字符串前加u,表示这是一个unicode字符

  4.字符串常见操作:startswitch , endswith, in, find , replace , upper , lower , split , join , strip

  

# 字符串转义
print what is wrong  #如何输入what‘s wrong
print what \‘s wrong  #使用\ 反斜杠对特殊字符转义
print rwhat \‘s wrong  #前面加r (Raw String),不进行转义,原样输出


# unicode字符串
print 哈哈,type(哈哈)
print u哈哈,type(u哈哈)
#print ‘哈哈‘ == u‘哈哈‘  #False
#字符串常见操作:字符串相加,相乘
str_1=123
str_2=456
print str_1 + , + str_2 #字符串直接相加
print str_1 * 3 #字符串可以乘以整数
print * * 30  #显示分隔符

#字符串常见操作:startswith,endswith
str_3 = sh333333
print str_3.startswith(s)  #判断字符串是否以s开头
print str_3.startswith(sh)
print str_3.startswith(sz)
print * * 30  #显示分隔符

#字符串常见操作:判断
str_4 = sj33333
print s in str_4  #判断字符串中是否包含‘s‘
print sj in str_4
print sz in str_4

#字符串常见操作:替换
str_5 = abc123
print str_5.replace(a,1) # 将字符串a替换成1
print abc123abc.replace(abc,w) #替换所有为abc字符
print * * 30  #显示分隔符

#字符串常见操作:split
str_6 = a,b,c,d,b,e,f
print str_6.split(,) #分割成数组
print str_6.split(,)[0] #取分割成数组的第1元素
print str_6.split(b) #用b符号来分割
#逆操作,将数组变成字符串
str_6_arrs = [a,b,c,d]
print ,.join(str_6_arrs) #将数组元素用,逗号进行连接
print * * 30  #显示分隔符

#字符串常见操作:strip (java的trim)
str_7 =    t    
print str_7
print len(str_7)     #包含空格的长度
print str_7.strip()  #去除两边的空格
print len(str_7.strip())  #去除两边的空格-长度
print * * 30  #显示分隔符

#字符串的选取:把字符串当做list
str_8 = sz12345
print str_8[0] #取字符串第1位
print str_8[:2]  #从0开始2个字符
print str_8[2:]  #从2开始,到结尾

 

13、条件 、循环语句

  1.条件语句:if  elif  else

  2.循环语句:for, while

  3.循环内语句:continue, break

 

if  (1==1) :  #条件A
    print a
elif (1==2) :  #条件B
    print b
else:
    print c

for i in range(10+1):
    print i
print * * 30  #显示分隔符

sum_num = 1;
while True:
    sum_num += 1
    print sum_num
    if(sum_num > 10) :
        print end
        break

 

 

14、函数的定义

  以def开头

  print_h是函数名

  str_var是参数,可以带上默认参数

  函数首行的最后需要带上冒号

 

#====基本函数的定义
def print_h(str_var=default args):
    print str_var   #打印参数


#====函数的调用
print_h()
print_h(张三) #传入参数

 

 

 

15、异常处理

  python中的异常处理机制

  

#=========异常处理
# 1.先执行语句1
# 2.语句1异常,except捕获,处理
# 3.语句1不报错,那么执行语句3
try:
    语句1
except:
    语句2
else:
    语句3

 

Python股票量化投资-3.python基础

标签:合并   最大   意义   min   不可   abc   异常处理机制   except   error:   

原文地址:https://www.cnblogs.com/codelives/p/13935854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!