conybcc的博客

金融/证券/会计/公司治理等方向的编程课程

<跟着小邢老师学python> 第四课 学习python的基本语法

查看B站视频

本课内容相对枯燥一些,都是python的基本语法知识,但是很重要,让我们更好地理解程序。

变量

变量就像一张便利贴,可以记录一些内容,还可以随时拿来看

比如某天早晨,我们拿出一张便利贴,我们把他叫作一号,然后在纸上写下今天下午去看工商银行Q3报告

再拿出一张便利贴,我们的他叫作二号,写下2666,表示当天上证指数开盘价

然后又去工作,吃中午饭,到了下午

拿出一号便利贴,看了看内容,然后花了一小时看了工商银行Q3报告,之后在纸上加了一句已完成

下午3点又拿出二号便利贴,根据收盘价,把纸上的数据改成了2666 ~ 2680

程序中的变量

其实变量在程序中就类似我们生活中的一张便利贴,可以用来记录/查看/修改内容

程序中的变量需要有一个名字,用来区分,类似我们上例中给便利贴命名的一号,二号

记录内容的时候,左边是变量名, 然后是等号,右边是内容

note1 = '今天下午去看工商银行Q3报告'
note2 = '2666'

使用变量的时候,直接写名字就可以

print(note1)
print(note2)

修改变量内容的时候,与第一次的记录是一样的

note1 = '今天下午去看工商银行Q3报告 已完成'
note2 = '2666 ~ 2680'

可以记录到变量的信息有不同类型,我们上面举的例子都是字符串,下面再介绍几个常见的类型

# 苹果的股票名称,字符串
stock_name = 'AAPL'

# 一年中可以交易的天数,这是一个整数
trade_days = 255

# 某一个时刻,贵州茅台的价格,这是一个小数
price = 755.32

# 某一天上交所市价总值排名前十, 这是一个列表
top10_stocks = ['工商银行', '中国石油', '农业银行', '中国银行', '中国平安', '贵州茅台', '中国石化', '招商银行', '中国人寿', '中国神华']

# 两个交易所的官网, 这是一个元组
# 元组只能在创建的时候记录一次,不可以修改
# 元组与列表的区分主要是在程序上,我们可以暂时忽略元组
sites = ('http://www.sse.com.cn/', 'http://www.szse.cn/')

# 工商银行的信息, 这是一个字典
icbc = {
    'code': '601398', # 公司代码
    'name': '工商银行',
    'site': 'http://www.icbc-ltd.com'
}
print(icbc['name'])

对变量进行处理

字符串截取

之前我们就遇到过网络请求返回的数据需要进行处理,截取中间一部分

计算机里很多处理都是从0开始的,这也是一种约定,我们需要格外注意

# 字符串是从0开始计算位置
# 0:a, 1:b, 2:c, 3:d, 4:e
# 如果倒着数就是 -1:e, -2:d, -3:c, ...
str = 'abcde'
str[0] # 表示a
str[-1] # 表示e
str[1:3] # 表示bc, 因为1表示b,3表示d,但是这种截取包括左边,不包括右边,所以最终是bc
str[0:-1] # 表示abcd 因为-1表示e,但是右边的不包括在内,所以只是到d

# 这种截取法概括为 [开始:结束] , 从开始到结束前的一个位置
# 如果想截取到最后,不写结束就行了
str[2:] # cde

text = 'jsonCallback({"code": "601398", "name": "工商银行"})'
# jsonCallback( 一共占据了13个字符,最后的)占据了1个字符
# 这里的13是从0开始数,数到13是 {
# 这里的-1是从最后往回数,第-1表示) -2表示}
# 所以13:-1表示 从 { 到 }) 这一段内容,但是不包括 )
new_text = text[13:-1] # {"code": "601398", "name": "工商银行"}

其他类型的截取都是一个道理

top10_stocks = ['工商银行', '中国石油', '农业银行', '中国银行', '中国平安', '贵州茅台', '中国石化', '招商银行', '中国人寿', '中国神华']
top3_stocks = top10_stocks[0:3] # 取出的是0,1,2对应的 '工商银行', '中国石油', '农业银行'
first_stock = top10_stocks[0] # 0对应的就是第一个位置

字符串拼接

# 使用加号可以把两段字符串拼在一起
note1 = '今天下午去看工商银行Q3报告' + '已完成'

数字运算

# 上交所总市值 + 深交所总市值, 单位亿元
total = 281665.39 + 176890.33

# 上交所9号总市值 - 上交所8号总市值
sub = 278275.3 - 282147.03

# 茅台单价 755.32 * 一手
buy = 755.32 * 100

# 工行总股数(万股) / 股东人数 = 人均持股数(万股)
average = 35640626 / 557481 # 结果为 63.9 万股

条件与比较

price = 103
if price > 100:
    print('buy')

这个例子中, price > 100就是将价格的103与100进行比较 这个大于的比较会产生一个结果,可能是成立,也可能不成立

if xxx:就是说明如果成立的话,执行后面的语句 本例中因为103 > 100 所以会执行 print('buy')这句话

注意,这里的print('buy')前面有四个空格,是用来控制哪些属于if的范围的

例如:

# 注意,本例在交互模式下不能直接粘贴,因为会自动进入缩进区域
if 88 > 100:
    print('buy') # 有4个空格的缩进,属于if的范围
print('ok') # 没有缩进, 不属于if的范围,无论if是否成功,都不影响本行

总结

本课主要讲了一些简单的变量与基本的处理,需要大家多练习,才能理解更深刻

最后

我近期一边整理免费课程,也会推出更多的免费视频,方便大家结合查看学习

如果你对我的课程感兴趣,欢迎与我联系,提供一对一教学,也可以帮助实现特定程序

了解清楚目标后,第一次可以先听课后付款

如果有概念没有理解清楚,随时可以询问,不再收费

回到首页查看更多课程

我的联系方式

点击评论(需要登录github账号) 评论完成后,回博客刷新