(一)从零开始说Python —— 变量与常量

(一)从零开始说Python —— 变量与常量,第1张

最初学习python,只是想让自己能够有一点用。还记得2019年的时候,想让自己发生改变的自己,毫不犹豫地花钱购买了一门微信推送的Python课程,因为那时Python被吹得很神,自己又很想去做一些改变。但是,学过一段时间之后,便中止了,因为没感觉到实际的用处或者又被人说没用。

直到去年的3月,为处理繁杂重复的Excel报表时,在一位新同事的建议下,我学习了VBA。因为有一定的Python基础,我很快理解了VBA,再通过语法的对比,又反过来理解了Python中曾经的不解。通过VBA,我在处理重复报表的过程中,开始体验到了代码的乐趣。我从来没觉得,这些重复繁琐的报表,会变得如此的简单有趣。不过渐渐的,我不想一直停留在Excel上,而且VBA的运行速度似乎也不是那么的快。于是,在VBA过渡之余,我又开启了Python的学习之旅。这次的学习,我时刻不断的提醒着自己,理性看待Python,不要指望python带你走上人生巅峰。以解决问题为核心,通过搜寻问题的解决方法,来一点一点的积累Python,当知识点凝聚到一定程度的时候,就有必要系统性地学习Python了。看了一些视频,一些书,不断地归纳总结,然后,再时不时地看看自己曾经东拼西凑写的代码,变得有趣的是,我好像可以修改代码,让代码能更好的执行我的想法,甚至可以直接重写一份代码。突然发现,自己原来不是一直停留在原地,回过头来,与最初的原点似乎已经走过了一段距离。

既然迈出了这一小步,那便继续向前,直至永远……人生苦短,我用Python。


Python的编程环境

python的学习是需要大量的实 *** 的,让大脑去死记硬背,倒不如动手 *** 作1~2次,甚至学习中遇到的各种报错,都是在加深你学习的印象,为以后避免类似的问题加深印象。

所以学习之前,一定需要配置好编程环境(安装Python+Python解释器)。编程的模式,大致有2种类型:

① 命令行模式的编程,强烈推荐使用 Jupyter notebook,有输入输出,可一步一步的运行代码,很方便的看到输出结果。同时,还可在代码块之间做相关的文本笔记。

对于还在学习的我们,强烈推荐 Jupyter notebook !!!

② 脚本文件的编程,有PyCharm、Vscode等,如果是要编写一个运行的程序,肯定是用这类的编程,可以直接运行整个程序。

关于怎么配置,方法太多了,网上随便找找。

安装好之后,我们再往下看看……

(一)常量与变量

不论常量,还是变量,其本质都是储存数据,以便我们调取使用。常量是用特定的字符表示特定的意义,而变量是我们可以自定义字符,并由我们去赋予其意义。即

1 )常量:是在python中有特定意义的字符。

如:布尔值(True\False)、空值(None)等,还有在模块中特定意义的常量,如math模块中的pi、e;

但与VBA不同,我们无法自定义常量。如果需要,可以将变量中的字母大写,当做常量(其本质上还是变量,其值可以修改,但我们不去改它,就当成了一个常量)

内置模块(或第三方模块中)预定的常量。

import math
print(math.pi) # math.pi 表示圆周率 π
print(math.e) # math.e  表示自然常熟 e
2 )变量:当然就是可变的量啦!~_~

变量到底是什么,可以是一个简单的字母 a:a=1,a是一个变量;可以是字母+数字 a1:a1=2

a1 是一个变量。但a表示什么?a1又表示什么?我不清楚。这时如果需要让一个变量变得有意义,如表示一个数量,用amount来作为一个变量,amount = 20,我们可以知道这个是变量 amount 是表示一个数量,其值为20。即通过命名的方式,让变量变得有意义。

其实,变量的命名简单也好,复杂也罢,都有其存在的意义。

在学习中,我们可以尽可能的使用简单的字母去做变量,因为重点是去学习变量的另一头,数据。这时,变量只是暂时存储数据的一个容器罢了。像我这里举例用到的变量,都是很简单的字母。

在编程中,变量的名称则不可随便了,一定要让自己的代码具有可读性。试想一下,当你在写了200行甚至千行代码的时候,再想引用之前自定义的变量,你还记得当时的变量表示的是什么意思吗?所以编程中的变量要尽可能的有意义,可选择下面2种方式:

① 驼峰形式(没有下划线):amountOfMoney,金额总量

② PEP 8 (有下划线):amount_of_money,金额总量

用什么方式命名其实不必拘束(数字不打头就行),可以是英文单词,可以混合拼音,全看个人喜好。但是,首先是自己要能看懂,进而让别人也能看懂。

变量的命名需遵循哪些规则,变量的赋值有哪些方式,变量的值与数据类型,以及数据之间拼接方式,一一为大家带来:

1 )变量命名的规则:

① 可以由字母、数字、下划线组成,但字母不能打头

② 不能由空格

③ 区分大小写字母

④ 不建议用python关键字和内部函数的名称(如True,if,def等)

a = 1
print('a 是一个变量,其值为',a)
_b = 2
print('_b 是一个变量,其值为', _b)
c3 = 3
print('c3 是一个变量,其值为', c3)
A = 2
print('A 是一个变量,其值为',A)
a == A # 区分大小写
print("a与A如果相等,则返回值为True。但返回值为",a==A)
a == a
print("来看看a==a的返回值:",a==a)

import keyword
keyword.kwlist
print(这是一个python关键字的列表,keyword.kwlist) # 查看关键字

# 4d = 4 # 4d 则不是一个变量,数字打头了,运行则会报错

2 )变量的赋值方式:

① 直接赋值:a = 1

② 链式赋值:a=b=1

③ 系列解包赋值(同时给多个变量赋不同的值):a,b=1,2 ;_,c=1,3;print(a,b,c)

④ 多重赋值(用列表中的值,给多个变量赋值):a:b=[1,2]

a=1
b=c=2
c,d=3,4
_,e=5,6
f,g=[7,8]
print(a,b,c,d,e,f,g)

3 )变量的值

可以是字符串、整数、浮点数,列表,元祖,字典,集合、布尔值、None……

变量的数据类型(根据赋值):字符串型、整型、浮点型、列表、元祖、字典、集合、布尔型、空值,甚至对象也可以赋值给变量,如pandas的DataFrame对象,Series对象等等。

a = 1 # 整数
print(a)

b = 'a' # 字符串
print(b)

c = [1,2,3,4] # 列表
print(c)

d = {'a':1,'b':2,'c':3,'d':4} # 字典
print(d)

e = ('a',1) # 元祖
print(e)

f = {1,2,3,4,5} # 集合
print(f)

4 )数据拼接:

① 相同类型的数据,数据拼接符合 +(加号),用于连接2个字符串。如果是整数(或浮点数),则是做加法运算。(不能:字符串+整数,但可以试试会发生什么)

i = "1"
a = "上班的第"+i+"天"  # + 作为连接符号,连接的是2个字符串,i不能是整数 或浮点数。
print(i)

a1 = 1
b1 = 2.5
c1 = a1+b1 # 如果+ 连接的是整数或浮点数,则表示加法运算
print(c1)

② 不同类型的数据拼接

通常主体部分是字符串,然后,将整型或浮点型或其他类型的变量嵌入到字符串中。其方法有:

1、格式符% :%s(字符串)%f(浮点数)%d(整数)。

在字符串中,先用一个格式符占个位置,再字符串末尾用 % 连接其值(多个值则连接的是一个元组,单个值则可不用元组)。

s1 = "%s花了%f元买了一个英雄的皮肤,却仅打了%d局王者荣耀"%('小李',999.9,1)
print(s1)

2、格式化字符串:str.format(value)

在字符串中,用的是 {} 占位,在字符串的末尾用format函数,将其值补充进去。与格式符%的不同,我们不用在意要用什么类型的数据,不用在意函数里的参数数量与字符串中 {} 的数量是否一致。甚至还有更多特殊的用法(字典、列表……到那时再说吧!)

s1 = "{}花了{}元买了一个英雄的皮肤,却仅打了{}局王者荣耀".format('小李',999.9,1,2,3,4)
print(s1)

3、f-string:f"str{}"

在字符串前加一个f,即可直接将数据通过 {} 插入于字符串中。更为的方便直观,初学者狂喜!

s1 = f"{'小李'}花了{999.9}元买了一个英雄的皮肤,却仅打了{1}局王者荣耀"
print(s1)

4、在用print()输出时,将不同类型的数据用 ,(逗号)隔开

print("过来!",9527)

变量如果深入下去是很复杂的(尤其是数据类型),我们不可能突然一下就将变量完全掌握,切忌脱离“过程”去单独的学习变量。变量是要融于表达式、流程控制语句、函数、类……去慢慢理解消化的。所以刚开始遇到点困难,不要困惑,更不要轻言放弃,试着暂时搁置,随着积累的程度,也许理解就在突然之间呢。

关于常量与变量就先说到这里吧,其他的以后慢慢来说!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/723402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存