【Python不是大蟒蛇】变量 | 运算符 | 类型转换

Ⅰ.变量

0x00 什么是变量?

变量,就是会变化的数值。

变量就是一个装东西的盒子
变量是用于存放数据的容器。我们通过变量名获取数据,甚至数据可以修改。

网上有许多教程都是这么讲到,但这个是错误的。在python中变量并不是一个盒子,而是个一个值贴上了他的标签 。

例子:

a = 10
b = a

我们思考一下,这在python中发生了什么?

如果用图片表示是这样

没想到吧,python变量里存储的不是像C\C++那样的存储值,而是存储了数据的地址。

可能有有些人不大相信,我们这里给出一个例子让大家彻底相信

id函数是什么?

我们使用help函数获取帮助

 参考翻译:

有关模块内置函数id的帮助:



id(obj,/)

返回对象的标识。



这保证在同时存在的对象中是唯一的。

(CPython使用对象的内存地址。)

跑的有点远了,我继续回归正题。

0x01 变量赋值

python是动态变量,什么是动态变量?

就是一个变量的属性是可以变化的,而且没有变量声明。

在python中变量赋值可以使用=操作符,语法为

变量名 = 值

我们通过一个例子

n = 666 # int类型

f1 = .0 # float类型,等价于0.0
f2 = 0. # 等价于0.0

s = "623" # 字符串类型

b = True # 布尔类型

0x02 命名规则

在Python中不是什么名字都可以的

规则如下:

  • 变量名只能包含字母、数字和下划线。
  • 变量名必须以字母或下划线开头。
  • 变量名不能是Python关键字,如if、while、for等。
n@ = 10 # 错误:使用了特殊符号
变量 = 666 # 正确:Python允许使用中文作为变量名
1n = 888 # 错误:使用了数字作为开头
_n = 999 # 正确:下划线可以作为开头

 0x03 命名规范

一般来说有四种编程命名规范:

匈牙利命名法

匈牙利命名法是早期的规范,由微软的一个匈牙利人发明的,是 IDE 还十分智障的年代的产物。那个年代,当代码量很多的时候,想要确定一个变量的类型是很麻烦的,不像现在 IDE 都会给提示,所以才产生了这样一个命名规范,估计现在已经没啥人用了吧……一个十分系统却又琐碎的命名规范。

该命名规范,要求前缀字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,单词第一个字母大写。

如:

inumber = 666
sName = "666"

驼峰式命名法

驼峰式命名法,又叫小驼峰式命名法(所以自然就存在大驼峰命名法啦……)。

该命名规范,要求第一个单词首字母小写,后面其他单词首字母大写,简单粗暴易学易用。

myAge = 18
myName = ""

帕斯卡命名法

帕斯卡命名法,又叫大驼峰式命名法。

与小驼峰式命名法的最大区别在于,每个单词的第一个字母都要大写。

MyAge = 18
MyName = ""

下划线命名法

下划线命名法并不如大小驼峰式命名法那么备受推崇,但是也是浓墨重彩的一笔。尤其在宏定义和常量中使用比较多,通过下划线来分割全部都是大写的单词。

该命名规范,也是很简单,要求单词与单词之间通过下划线连接即可。

my_age = 18
my_name = ""

 但我们坚持使用一个命名规范,肯定会有用的,这是毋庸置疑的。

                                                                                                        —— 不重要

0x04 解包操作

Python中有个语法糖,语法为

变量A, 变量B, ... = 值1, 值2, ... # 等价于 变量A = 值1
                                 # 变量B = 值2 

这个就是解包操作。

为什么是语法糖呢?

在C++中是没有解包操作的,所以要交换变量需要

auto Temp = a;
a = b;
b = Temp;

但是在Python中只需要一行代码,

a, b = b, a

就问你帅不帅

解包操作还有很多用处,在后面会经常用的

0x05 调用变量

我们在代码中直接使用变量名即可。

a = 10
print(a) # 输出: 10

0x06 删除变量

在程序中有些变量不需要了,但是还会占用内存。

那怎么办?

当然是删掉他呀!

在python中删除变量要使用del关键字。

语法为:

del 变量名 # 如果有多个变量需要删除用,号隔开即可

如:

a = 10
del a
print(a)

 可以看到变量在删除后就无法使用了

0x07 变量的作用域

在Python中,变量的作用域指的是可以访问变量的代码块。Python中有三种类型的变量作用域:

  • 局部变量:定义在函数内部,只能在函数内部访问。
  • 全局变量:定义在函数外部,可以在整个程序中访问。
  • 嵌套作用域变量:定义在一个函数内部的函数中,只能在这个函数内部和嵌套的函数中访问。

以下是一个使用局部变量和全局变量的示例:

python
x = 5  # 全局变量

def my_func():
    x = 10  # 局部变量
    print("x = ", x)

my_func()
print("x = ", x)

在上面的示例中,函数my_func()中的变量x是一个局部变量。当函数被调用时,Python将在函数内部创建一个名为x的新变量,并将其值设置为10。当函数返回时,这个变量将被销毁。在函数外部,变量x仍然是全局变量,并且它的值仍然是5。

这些代码不需要理解,只需要知道有这个概念就可以了

Ⅱ. 运算符

0x00 什么是运算符?

本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4和5被称为操作数,"+"号为运算符。
Python语言里常用的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符

接下来让我们一个个来学习Python的运算符。

0x01 Python算术运算符

python中的二元算术运算符列表如下:

运算符 语法 作用
+ a + b 把a和b相加
- a - b 把a减去b
* a * b 把a乘以b
/ a / b  把a除以b
%

a % b

或取a除以b的余数
// a // b 获取a除以b的整数部分
** a ** b 获取a的b次方

二元算术运算符的语法都可以整理为如下:

值1 运算符 值2
a = 21
b = 10
c = 0

c = a + b
print("1 - c 的值为:", c)

c = a - b
print("2 - c 的值为:", c)

c = a * b
print("3 - c 的值为:", c)

c = a / b
print("4 - c 的值为:", c)

c = a % b
print("5 - c 的值为:", c)

# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print("6 - c 的值为:", c)

a = 10
b = 5
c = a//b
print("7 - c 的值为:", c)

0x02 Python比较运算符

运算符 作用
== 等于——对象是否相等
!= 不等于——对象是否不相等
> 大于——左值是否大于右值
< 小于——左值是否小于右值
>= 大于等于——左值是否大于等于右值
<= 小于等于——左值是否小于等于右值

语法为:

左值 比较符 右值

这里不剧透更多,到时候if判断会讲到

0x03 逻辑运算符

逻辑运算符列表为:

逻辑符 作用
not 为True返回False,为False返回True
and 与——左值和右值全为True返回True,否则返回False
or 或——左值和右值中有一个是True返回True,否则返回否

语法为:

左值 逻辑运算符 右值

这里不剧透跟多,到时候if判断会讲到

0x04 赋值运算符

列表为:

赋值运算符 作用
= 不用讲了吧
+= 等价于 a = a+b
-= 等价于 a = a-b
...

这个其他的都依次类推。

Ⅲ.类型转换

0x00 转换类型的函数

 来源于网络

0x01 转化类型的作用

因为输入函数的返回值都是str,需要其他类型,转化函数就有用了

0x02 计算输入数字的和

先定义两个变量

a = input("请输入a的值:")
b = input("请输入b的值:")

再把它们转换成int类型

a, b = int(a), int(b)

再把它们相加:

c = a + b

输出c的值

print("a + b =", c)

完整代码:

运行结果:

(乱码不重要)

猜你喜欢

转载自blog.csdn.net/m0_73552311/article/details/132838801