首页 > 编程语言 >我心中的王者:Python-第2章 认识变量与基本数学运算

我心中的王者:Python-第2章 认识变量与基本数学运算

时间:2024-07-21 12:29:42浏览次数:17  
标签:运算 王者 Python annual 实例 下列 变量

我心中的王者:Python-第2章 认识变量与基本数学运算

本章将从基本数学运算开始,一步一步讲解变量的使用与命名,接着介绍Python的算术运算。

2-1 用Python做计算

假设读者到麦当劳打工,一小时可以获得120元时薪,如果想计算一天工作8小时,可以获得多少工资?我们可以用计算器执行“120 ×8”,然后得到执行结果。在Python Shell,可以使用下列方式计算。
在这里插入图片描述

如果一年实际工作天数是300天,可以用下列方式计算一年所得。
在这里插入图片描述
如果读者一个月花费是9000元,可以用下列方式计算一年可以存储多少钱。

在这里插入图片描述

上述笔者先计算一年的花费,再将一年的收入减去一年的花费,可以得到所存储的金额。本章笔者将一步一步推导应如何以程序观念,处理一般的运算问题。

2-2 认识变量

变量是一个暂时存储数据的地方,对于2-1节的内容而言,如果你今天获得了调整时薪,时薪从120元调整到125元,如果想要重新计算一年可以存储多少钱,你将发现所有的计算将要重新开始。为了解决这个问题,我们可以考虑将时薪设为一个变量,未来如果有调整薪资,直接更改变量内容即可。

在Python中可以用“=”等号设定变量的内容,在这个实例中,我们建立了一个变量x,然后用下列方式设定时薪。
在这里插入图片描述
如果想要用Python列出时薪资料可以使用print( )函数。

在这里插入图片描述

如果今天已经调整薪资,时薪从120元调整到125元,那么我们可以用下列方式表达。
在这里插入图片描述

注 在Python Shell环境,也可以直接输入变量名称获得执行结果。
在这里插入图片描述

一个程序是可以使用多个变量的,如果我们想计算一天工作8小时,一年工作300天,可以赚多少钱,假设用变量y存储一年工作所赚的钱,可以用下列方式计算。
在这里插入图片描述

如果每个月花费是9000元,我们使用变量z存储每个月花费,可以用下列方式计算每年的花费,我们使用a存储每年的花费。

在这里插入图片描述

如果我们想计算每年可以存储多少钱,我们使用b存储每年所存储的钱,可以使用下列方式计算。

在这里插入图片描述
上述我们很顺利地使用Python Shell计算了每年可以存储多少钱,可是上述使用Python Shell做运算潜藏最大的问题是,只要过了一段时间,我们可能忘记当初所有设定的变量是代表什么意义。因此在设计程序时,如果为变量取个有意义的名称,未来看到程序时,可以比较容易记得。下列是笔者重新设计的变量名称:

  • 时薪:hourly_salary,用此变量代替x,每小时的薪资。
  • 年薪:annual_salary,用此变量代替y,一年工作所赚的钱。
  • 月支出:monthly_fee,用此变量代替z,每个月花费。
  • 年支出:annual_fee,用此变量代替a,每年的花费。
  • 年存储:annual_savings,用此变量代替b,每年所存储的钱。

如果现在使用上述变量重新设计程序,可以得到下列结果。
在这里插入图片描述

相信经过上述说明,读者应该了解变量的基本意义了。

2-3 认识程序的意义

延续上一节的实例,如果我们时薪改变、工作天数改变或每个月的花费改变,所有输入与运算皆要重新开始,而且每次皆要重新输入程序代码,这是一件很费劲的事,同时很可能会输入错误,为了解决这个问题,我们可以使用Python Shell打开一个档案,将上述运算存储在档案内,这个档案就是所谓的程序。未来有需要时,再打开重新运算即可。

程序实例ch2_1.py: 使用程序计算每年可以存储多少钱,下列是整个程序设计。

# ch2_1.py
hourly_salary = 125
annual_salary = hourly_salary * 8 * 300
monthly_fee = 9000
annual_fee = monthly_fee * 12
annual_savings = annual_salary - annual_fee
print(annual_savings)

执行结果

192000

未来我们时薪改变、工作天数改变或每个月的花费改变,只要适度修改变量内容,就可以获得正确的执行结果。

2-4 认识注释的意义

上一节的程序ch2_1.py,尽管我们已经为变量设定了有意义的名称,其实时间一久,常常还是会忘记各个指令的内涵。所以笔者建议,设计程序时,适度地为程序代码加上注释。在1-9节已经讲解注释的方法,下列将直接以实例说明。

程序实例ch2_2.py: 重新设计程序ch2_1.py,为程序代码加上注释。

# ch2_2.py
hourly_salary = 125                             # 设定时薪
annual_salary = hourly_salary * 8 * 300         # 计算年薪
monthly_fee = 9000                              # 设定每月花费
annual_fee = monthly_fee * 12                   # 计算每年花费
annual_savings = annual_salary - annual_fee     # 计算每年储存金额
print(annual_savings)                           # 列出每年储存金额

执行结果 与ch2_1.py相同。

相信经过上述注释后,即使再过10年,只要一看到程序也可轻松了解整个程序的意义。

2-5 Python变量与其他程序语言的差异

许多程序语言变量在使用前需要先定义,Python对于变量的使用则是可以在需要时,再直接设定使用。有些程序语言在定义变量时,需要设定变量的数据类型,Python则不需要设定,它会针对变量值的内容自行设定数据类型。

2-6 变量的命名原则

Python对于变量的命名有一些规则要遵守,否则会造成程序错误。

  • 必须由英文字母、_(下画线)或中文字开头,建议使用英文字母。
  • 变量名称只能由英文字母、数字、_(下画线)或中文字所组成。
  • 英文字母大小写是敏感的,例如,Name与name被视为不同变量名称。
  • Python系统保留字(或称关键词)或Python内置函数名称不可当作变量名称。

注 虽然变量名称可以用中文字,不过笔者不建议使用中文字,是怕将来也许有兼容性的问题。

下列是不可当作变量名称的Python系统保留字。
在这里插入图片描述
下列是不可当作变量名称的Python系统内置函数,若是不小心将系统内置函数名称当作变量,程序本身不会错误,但是原先函数功能会丧失。
在这里插入图片描述
实例1: 下列是一些不合法的变量名称。

 sum,1  # 变量不可有“,”
 3y     # 变量不可由阿拉伯数字开头
 x$2    # 变量不可有“$”符号
 and    # 这是系统保留字不可当作变量名称

实例2: 下列是一些合法的变量名称。

SUM

_fg

x5

总和

实例3: 下列3个代表不同的变量。

SUM

Sum

sum

2-7 基本数学运算

2-7-1 四则运算

四则运算是指加( + )、减( - )、乘( × )和除( / )。

实例1: 下列是加法与减法运算实例。

在这里插入图片描述

实例2: 乘法与除法运算实例。

在这里插入图片描述

2-7-2 余数和整除

余数(mod)所使用的符号是“%”,可计算出除法运算中的余数。整除所使用的符号是“//”,是指除法运算中只保留整数部分。

实例1: 余数和整除运算实例。
在这里插入图片描述

2-7-3 次方

次方的符号是“ ** ”。

实例1: 平方、次方的运算实例。
在这里插入图片描述
2-7-4 Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号“ (”、“)”最优先外,其余计算优先次序如下。

①次方。

②乘法、除法、求余数(%)、求整数(//),彼此依照出现顺序运算。

③加法、减法,彼此依照出现顺序运算。

实例1:Python语言控制运算的优先级的应用。
在这里插入图片描述

2-8 赋值运算符

常见的赋值运算符如下:

在这里插入图片描述

实例1: 赋值运算符的实例说明。
在这里插入图片描述

2-9 Python等号的多重指定使用

使用Python时,可以一次设定多个变量等于某一数值。

实例1: 设定多个变量等于某一数值的应用。
在这里插入图片描述

Python也允许多个变量同时指定不同的数值。

实例2: 设定多个变量,每个变量有不同值。

在这里插入图片描述

当执行上述多重设定变量值后,甚至可以执行更改变量内容。

实例3: 将2个变量内容交换。
在这里插入图片描述

上述原先x, y分别设为10, 20,但是经过多重设定后变为20, 10。

2-10 删除变量

程序设计时,如果某个变量不再需要,可以使用del指令将此变量删除,相当于可以收回原变量所占的内存空间,以节省内存空间。删除变量的格式如下:

del变量名称

实例1: 验证变量名称回收后,将无法再使用。此例,尝试输出已删除的变量,然后程序出现错误信息。
在这里插入图片描述

2-11 Python的断行

2-11-1 一行有多个语句

在Python是允许一行有多个语句,彼此用“;”隔开即可,尽管Python有提供此功能,不过笔者不鼓励如此撰写程序代码。

程序实例ch2_3.py: 一行有多个语句的实例。

# ch2_3.py
x = 10
print(x)
y = 20;print(y)       # 一行有2个叙述不过不鼓励这种写法

执行结果

10
20

2-11-2 将一个语句分成多行

在设计大型程序时,常会碰上一个语句很长,需要分成2行或更多行撰写,此时可以在叙述后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。特别注意,在“\”符号右边不可加上任何符号或文字,即使是注释符号也不允许。

另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。

程序实例ch2_4.py: 将一个语句分成多行的应用。

# ch2_4.py
a = b = c = 10
x = a + b + c + 12
print(x)
# 续行方法1
y = a +\
    b +\
    c +\
    12
print(y)
# 续行方法2
z = ( a +     # 此处可以加上批注 
      b +
      c +
      12 )
print(z)

执行结果

42
42
42

在这里插入图片描述

标签:运算,王者,Python,annual,实例,下列,变量
From: https://blog.csdn.net/andyyah/article/details/140585655

相关文章

  • 【Dison夏令营 Day 25】用Python写个2048
    在本文中,我们将用python代码和逻辑来设计一款你经常在智能手机上玩的2048游戏。如果您对该游戏不熟悉,强烈建议您先玩一下该游戏,以便了解其基本功能。如何玩2048.NET?1.有一个4*4的网格,可以填入任何数字。一开始,随机填入两个2的单元格。其余单元格为空。我们......
  • python入门基础——新手必看
    前言随着人工智能,大数据的发展。python是当前时代最流行,可以在数据处理、web开发、人工智能等多个领域。它的语法简洁、开发效率高、可移植性强,并且可以和其他变成语言(比如C++)轻松衔接,本文主要讲述一些python的变量,基本数据类型,输入、输出,数据类型的转换,运算符等一些必需的......
  • python中逗号运算符的含义
    我理解了python中逗号运算符的简单概念。例如,x0,sigma=0,0.1表示x0=0,sigma=0.1。但我获得了一个代码,其中有一行如下所示。y,xe=np.histogram(np.random.normal(x0,sigma,1000))其中y和xe的输出如下。yOut[10]:array([3,17,58,136,216,25......
  • 【科大讯飞笔试题汇总】2024-07-20-科大讯飞秋招提前批(研发岗)-三语言题解(Cpp/Java/
    ......
  • Python - Pandas - loc vs iloc (DataFrame.loc[:,['column_name':]])
    原文链接:https://blog.csdn.net/weixin_48964486/article/details/123150832————————————————————————————————————————————————关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据基本方法总结归纳及示例如下:1.......
  • 在 Python 中将 2 列的数据框转换为一系列 2 列
    我正在尝试处理一些时间序列数据,并且对pandas数据框相当陌生。我有一个包含两列的数据框,如下所示:+---+-----------------------+-------+--+||0|1||+---+-----------------------+-------+--+|1|2018-08-0223:00:00|456.8||......
  • NumPy 广播数组是否会在二进制运算期间创建?
    我有两个numpy.ndarray具有不同形状的实例。如果我添加这两个数组,它们之间将发生广播:importnumpyasnpx=np.array([1,2,3])y=np.array([[2,3,5],[7,11,13]])print(x+y)#[[358]#[81316]]广播数组会被创建吗?也就......
  • 位运算
    位运算的性质:各位之间的运算是相互独立的因此,分别考虑每一位的方案数,显然比你的考场做法更优点击查看代码#include<bits/stdc++.h>usingnamespacestd;longlongp[20];intmain(){ p[0]=1; for(inti=1;i<=15;i++) { p[i]=p[i-1]*2; } intT; cin>>T; while......
  • 基于python的非平稳时间序列模型
    前言平稳时间序列指的是宽平稳时间序列,就是指时间序列的均值、方差和协方差等一二阶矩存在但不随时间改变,表现为时间的常数。若三个条件有一个不成立,那么就称该序列为非平稳时间序列。包括确定性趋势时间序列和随机性趋势时间序列。要想把非平稳的时间序列转化为平稳的时......
  • 猫头虎 Python知识点分享:pandas--read_csv()用法详解
    ......