print("Hello, Python!")
msg="Hello, Python!"
print(msg)
# 这是使用#号注释, 该语句不会被运行, 使用快捷键 Ctrl + / 切换
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
print("Hello, Python!")
"""Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示"""
total = 1 + \
2 + \
3
total
Python有五个标准的数据类型:
Numbers(数字) : int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数)
List(列表)
Tuple(元组)
String(字符串)
Dictionary(字典)
'''数据类型转换'''
print(float(2))
print(int(2.9))
'''运算符'''
print(10 + 4) # 加法
print(10 - 4) # 减法
print(10 * 4) # 乘法
print(10 / 4) # 除法
print(10 % 4) # 求余 常用于周期控制
'''定义: 方括号定义的元素组合,元素之间用逗号隔开'''
[1,2,3]
'''创建列表,使用方括号[]定义'''
empty_list = []
empty_list = list()
instruments = ['600010.SHA', '000001.SZA', '300010.SZA']
instruments
'''列表元素个数'''
print(len(instruments))
'''获取列表的第一个元素'''
print(instruments[0])
'''获取列表的最后一个元素'''
print(instruments[-1])
'''列表的引用'''
print(instruments[0:2]) # 输出列表的前两个元素
print(instruments[::2]) # 从第一个元素instruments[0]到最后一个元素每间隔2个元素采样组成List输出
'''添加一个元素'''
instruments.append('300102.SZA')
print(instruments)
'''添加多个元素'''
instruments = instruments + ['300010.SZA', '600033.SHA']
print(instruments)
'''修改第一个元素'''
instruments[0] = '600012.SHA'
instruments
'''删除第一个出现元素'''
instruments.remove('600033.SHA')
instruments
'''排序 sort'''
instruments.sort() # 直接修改原始list
instruments
'''反向排序,直接修改原始list'''
instruments.sort(reverse=True)
instruments
'''使用reversed函数反向排序, 不修改原始list'''
list(reversed(instruments))
'''查询元素的索引'''
instruments.index('000001.SZA')
'''查询列表中指定元素出现次数'''
instruments.count('000001.SZA')
'''使用圆括号()定义的元素组合,与列表的不同在于元组的元素是不能修改的'''
digits = (0, 1, 'two')
digits
'''将列表转化为元组'''
digits = tuple([10, 'a'])
digits
'''选取元组的第一个元素'''
digits[0]
'''元组无法赋值,提示错误'''
digits[0]=1
'''创建字符串'''
s = '000001.SZA'
'''计算字符串长度'''
print(len(s))
'''字符串索引'''
print(s[0])
print(s[0:6])
'''使用花括号{}定义的元素组合,集合中元素是唯一的(字符串, 数字, or 元组)'''
'''创建空集合'''
empty_set = set()
'''创建非空集合'''
plates = {'上海主板', '深圳主板', '创业板'}
'''将列表转化为集合'''
concepts = set(['创业板', '次新股', '国企'])
'''集合求交集'''
print(plates & concepts)
'''集合求并集'''
print(plates | concepts)
'''集合求差集'''
print(plates - concepts)
'''列表去重'''
a=['000001.SZA','600001.SHA','000001.SZA']
set(a)
'''使用花括号 {} 定义的二元元组元素列表,
每个元素由键名-键值成对组成,每个键值对之间用逗号分隔,
键名必须是唯一的, 可以使用字符串、数字或者元组'''
'''创建一个空字典(两种方法)'''
empty_dict = {}
empty_dict = dict()
'''创建持仓字典'''
positions = {'300010.SZA':'100股', '002100.SZA':'200股', '600010.SHA':'300股'}
'''查看字典长度'''
len(positions)
'''根据键名获取键值'''
print(positions.get('002100.SZA',0))
print(positions['002100.SZA'])
print(positions.get('111111.SZA','0股'))
'''修改字典键值'''
positions['002100.SZA'] = '5手'
print(positions)
'''根据键名删除字典的键对'''
del positions['002100.SZA']
positions.pop('300010.SZA')
print(positions)
'''为字典增加键对'''
positions['002102.SZA'] = '1000股'
print(positions)
'''字典的索引'''
print(positions.keys()) # 键名查询
print(positions.values()) # 键值查询
print(positions.items()) # 键对查询
'''定义函数案例'''
def square(x):
return x**2
'''调用函数'''
result = square(3)
print(result)
'''使用pass作为占位符:'''
def stub():
pass
print(stub())
'''lambda 表达式函数等价于def函数定义'''
def squared(x):
return x**2
squared2 = lambda x: x**2
squared2(3)
'''对字典键对循环,依次打印字典的键名和键值'''
positions = {'300010.SZA':'100股', '002100.SZA':'200股', '600010.SHA':'300股'}
for item in positions.items():
print(item, '股数',item[0], '股票:',item[1])
for key, value in positions.items():
print(key, value)
'''使用continue跳过某轮循环,继续执行后续循环'''
for key, value in positions.items():
if key[0]=='0':
continue
print(key, value)
'''使用break终止循环'''
for key, value in positions.items():
print(key, value)
if key[0]=='3':
break
'''while循环, 判断如果满足条件则一直循环'''
count = 0
while count < 3:
print(count)
count += 1 # 等价于 'count = count + 1'
语法: [expression for variable in iterable if condition]
'''生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]'''
[k for k in range(1, 11)]
'''生成list [1x1, 2x2, 3x3, ..., 10x10]'''
[x**2 for x in range(1, 11)]
'''添加if条件判断,只对偶数生成list [1x1, 2x2, 3x3, ..., 10x10]'''
[x**2 for x in range(1, 11) if x%2==0 ]
''' 添加if - else条件分支,只对偶数做平方运算 奇数保持不变 '''
[x**2 if x%2==0 else x for x in range(1, 11) ]
'''利用列表生成式获取持仓股票列表中3开头的创业板股票'''
stocks_hold = ['000010.SZA','300001.SZA','600012.SHA']
stocks_filter = [ stock for stock in stocks_hold if stock[0]=='3' ]
stocks_filter
'''利用列表生成式, 对持仓列表遍历循环'''
sell_list = [ '000010.SZA', '600010.SHA']
stock_to_sell = [ stock for stock in stocks_hold if stock in sell_list ]
stock_to_sell
positions = {'300010.SZA':{'amount': 100, 'cost': 6.10, 'last_sale_date': '2019-01-03'},
'002100.SZA':{'amount': 200, 'cost': 3.12, 'last_sale_date': '2019-03-03'},
'600010.SHA':{'amount': 300, 'cost': 15.10,'last_sale_date': '2019-04-03'}}
my_positions = {instrument:position['amount'] for instrument, position in positions.items()}
print(my_positions)
x=30
y=42
'''判断是否等于'''
print(x==y)
'''判断是否不等于'''
print(x!=y)
'''判断是否大于'''
print(x>y)
'''判断是否小于等于'''
print(x<=y)
'''使用if-else构建条件分支'''
if x>42:
print('x大于42')
else:
print('x小于等于42')
'''使用if-elif-else构建条件分支'''
if x>42:
print('x大于42')
elif x==42:
print('x等于42')
else:
print('x小于42')