Python语法入门之变量和数据类型

我们知道学习 Python 语言的目的是为了与计算机进行沟通/交流,从而控制计算机帮助我们做一些事情,所以,在 Python 语言的所有语法中,每个语法存在的意义都是为了让计算机能够像人类一样,直白地讲,就是让计算机具备我们人类的某一项技能。这是我们理解后续所有 Python 语法的根本,一定要熟记

变量与常量

变量

变量基本概述:

变量就是可以变化的量,变量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等。变量分为变量与常量,有时候统称为了变量,都是描述事物的状态。简单来说,变量就是让计算机记住事物的状态。

为什么要有变量?

为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的

详细地说:

程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。

怎么使用变量(先定义、后使用)

变量的定义由三部分组成,如下图

file

定义变量示范如下

name = 'rowey' # 记下人的名字为'rowey'
sex = '男'    # 记下人的性别为男性
age = 18      # 记下人的年龄为18岁
salary = 30000.1  # 记下人的薪资为30000.1元

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,通过变量名即可引用到对应的值

# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来
print(age) # 通过变量名age找到值18,然后执行print(18),输出:18

变量名的命名规范

变量名的命名应该见名知意

# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age
age = 18 
# 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level
level = 18

其他详细规范如下

# 命名规范
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名,常用关键字如下
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

# 错误示范如下:
*a=123
$b=456
c$=789
2_name='lili'
123='lili'
and=123
年龄=18 # 强烈建议不要使用中文命名

# 正确示范如下
age_of_rowey=31
page1='首页'
_class='终极一班'

变量名的命名风格

# 风格一:驼峰体
AgeOfTony = 56 
NumberOfStudents = 80
# 风格二:纯小写下划线(在python中,变量名的命名推荐使用该风格)
age_of_tony = 56 
number_of_students = 80

变量值的三大特性

#1、id
反应的是变量在内存中的唯一编号,内存地址不同id肯定不同

#2、type
变量值的类型

#3、value
变量值

查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性

>>> x='Info Tony:18'
>>> id(x),type(x),x
4376607152,<class 'str'>,'Info Tony:18'

常量

变量基本概述:

常量指在程序运行过程中不会改变的量

为什么要有常量?

在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653...

怎么使用常量?

在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单从语法层面去讲,常量的使用与变量完全一致。

基本数据类型

我们学习变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是用来存储事物状态的,很明显事物的状态分成不同种类的(比如人的年龄,身高,职位,工资等等),所以变量值也应该有不同的类型,例如

salary = 3.1 # 用浮点型去记录薪资
age = 18 # 用整型去记录年龄
name = 'lili' # 用字符串类型去记录人名

int整型

作用

用来记录人的年龄,出生年份,学生人数等整数相关的状态

定义

age=18

birthday=1990

student_count=48

float浮点型

作用

用来记录人的身高,体重,薪资等小数相关的状态

定义

height=172.3

weight=103.5

salary=15000.89

整型和浮点型使用方法

1 、数学运算

>>> a = 1
>>> b = 3
>>> c = a + b
>>> c
4

2、比较大小

>>> x = 10
>>> y = 11
>>> x > y
False

字符串类型str

作用

用来记录人的名字,家庭住址,性别等描述性质的状态

定义

name = 'rowey'

address = '上海市浦东新区'

sex = '男'

用单引号、双引号、多引号,都可以定义字符串,本质上是没有区别的,但是

#1、需要考虑引号嵌套的配对问题
msg = "My name is Tony , I'm 18 years old!" #内层有单引号,外层就需要用双引号
#2、多引号可以写多行字符串
msg = '''
        天下只有两种人。比如一串葡萄到手,一种人挑最好的先吃,另一种人把最好的留到最后吃。
        照例第一种人应该乐观,因为他每吃一颗都是吃剩的葡萄里最好的;第二种人应该悲观,因为他每吃一颗都是吃剩的葡萄里最坏的。
        不过事实却适得其反,缘故是第二种人还有希望,第一种人只有回忆。
      '''

浮点型使用方法

数字可以进行加减乘除等运算,字符串呢?也可以,但只能进行"相加"和"相乘"运算。
>>> name = 'tony'
>>> age = '18'
>>> name + age #相加其实就是简单的字符串拼接
'tony18'
>>> name * 5 #相乘就相当于将字符串相加了5次
'tonytonytonytonytony'

列表list

作用

如果我们需要用一个变量记录多个学生的姓名,用数字类型是无法实现,字符串类型确实可以记录下来,比如

stu_names='张三 李四 王五',但存的目的是为了取,此时若想取出第二个学生的姓名实现起来相当麻烦,而列表类型就是专门用来记录多个同种属性的值(比如同一个班级多个学生的姓名、同一个人的多个爱好等),并且存取都十分方便

定义

>>> stu_names=['张三','李四','王五']

列表型使用方法

# 1、列表类型是用索引来对应值,索引代表的是数据的位置,从0开始计数
>>> stu_names=['张三','李四','王五']
>>> stu_names[0] 
'张三'
>>> stu_names[1]
'李四'
>>> stu_names[2]
'王五'
# 2、列表可以嵌套,嵌套取值如下
>>> students_info=[['tony',18,['jack',]],['jason',18,['play','sleep']]]
>>> students_info[0][2][0] #取出第一个学生的第一个爱好
'jack'

字典dict

作用

如果我们需要用一个变量记录多个值,但多个值是不同属性的,比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义,这就用到字典类型,字典类型是用key:value形式来存储数据,其中key可以对value有描述性的功能

定义

>>> person_info={'name':'tony','age':18,'height':185.3}

字典型使用方法

# 1、字典类型是用key来对应值,key可以对值有描述性的功能,通常为字符串类型
>>> person_info={'name':'tony','age':18,'height':185.3}
>>> person_info['name']
'tony'
>>> person_info['age']
18
>>> person_info['height']
185.3
# 2、字典可以嵌套,嵌套取值如下
>>> students=[
... {'name':'tony','age':38,'hobbies':['play','sleep']},
... {'name':'jack','age':18,'hobbies':['read','sleep']},
... {'name':'rose','age':58,'hobbies':['music','read','sleep']},
... ]
>>> students[1]['hobbies'][1] #取第二个学生的第二个爱好
'sleep'

布尔bool

作用

用来记录真假这两种状态

定义

>>> is_ok = True
>>> is_ok = False

使用

bool数据类型的值是:True和False,显示的是True和False,其行为跟整数1和0是相同的。 布尔类型常用于条件表达式中,用于控制循环结构和分支结构。

对于bool值可以进行逻辑运算(and,or,not)。

1,Python的真值规则 数字0、0.0、空字符串、空值None、空对象(空的元组,空的集合,空的列表)都是False;其他值都是True布尔and和or运算符返回对象,而不是值True或False

2.布尔and 和 or运算符总会返回对象,而不是值True或False
布尔and 和 or运算符总会返回对象,不是运算符左侧的对象,就是右侧的对象。对于or运算符而言,Python会由左至右求操作对象,然后返回第一个为真的操作对象。or运算符是短路计算,Python会在其找到第一个True的操作数就停止。如果没有遇到True的对象,那么返回最后一个假的对象。


山林不向四季起誓 荣枯随缘