本节知识点:
什么是变量与变量名
变量名的命名规则
认识数据类型
运算符
变量与变量名
程序中,数据都是临时存储在内存当中,为了更快速的查找或使⽤这个数据,通常在定义完成之后,定义⼀个名称,这个名称就是变量名。
变量名就是⼀个存储数据的的时候,当前数据所在的内存地址的名字⽽已。
id() 查看内存地址
定义变量
在python中,使用=来对变量进行命名
# 一个等于号是赋值
# 左边是变量名,右边是变量
# 当代码运行到这一行时才会被临时存储在内存中
name = "喜羊羊"
# 代码运行结束后会从内存中释放出来
print(name)
# 查看内存地址:id()
print(id(name))
运行结果:
喜羊羊
1558639078928
也可为变量同时取多个变量名
# 一个变量赋给多个变量名:最后一个等号右边是变量,前面都是变量名
name1 = name2 = name3 = "VAE"
print(name1, name2, name3)
print(id(name1))
print(id(name2))
print(id(name3))
# 这里的name1,name2,name3都指向--"VAE",所以他们内存地址是一样的
运行结果:
VAE VAE VAE
1776354333040
1776354333040
1776354333040
或者同时为多个变量进行同时赋值
name4, name5, name6 = "aa", "bb", "cc"
print(name4, name5, name6)
运行结果:
aa bb cc
是按顺序赋的值
命名规则
变量名命名规则是Python中定义各种名字的时候的统⼀规范,具体如下:
- 变量名由数字,字母,下划线组成
注意:
- 不能数字开头&纯数字
- 不能使用python内置关键字等
- 不能用python数据类型
- 严格区分大小写
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
这些是python内置关键字,给变量命名时不能与其冲突
命名习惯
驼峰命名法
⼤驼峰:即每个单词⾸字⺟都⼤写,例如: MyName 。
⼩驼峰:第⼆个(含)以后的单词⾸字⺟⼤写,例如: myName 。
只要符合命名规则的命名都可以用,只不过这样更美观且易懂
数据类型
在 Python ⾥为了应对不同的业务需求,也把数据分为不同的类型。
查看数据类型使用python内置函数type()来完成
数值类型
# 1.数值类型:整数(int),浮点数(float)
num1 = 10
num2 = 10.25
print(type(num1))
print(type(num2))
运行结果:
<class 'int'>
<class 'float'>
布尔类型
只有True和False两种结果
# 2.布尔类型(bool):True(1)或者False(0)
print(3 > 4)
print(5 > 3)
运行结果:
False
True
字符串类型
字符串使用单引号&双引号&三引号
var1 = '大家好'
var2 = "我是张三"
var3 = """喜欢敲代码"""
# 三引号在没有变量名的情况下属于多行注释
列表与元组
列表使用中括号表示,元组使用小括号表示。列表与元组的元素可以是字符串、数值、变量或者几种类型混合都可
list1 = ["张三","李四",4,5]
tu1 = ("张三","李四",4,5)
字典与集合
字典和集合都使用大括号表示,区分它们的方法是看里面的元素。字典的元素是键值对,键唯一,值可以出现多次。集合的元素无序不重复
# 集合当中的元素无序不重复
set1 = {"张三","李四","王五","小明"}
# 字典当中的元素均为键值对
dict1 = {'name': '张三', 'age': 20}
运算符
算数运算符
和数学上的运算一致
符号 | 描述 | 实例 |
---|---|---|
+ | 加 | print(1+1) 输出结果为2 |
- | 减 | print(1-1) 输出结果为0 |
* | 乘 | print(2*2) 输出结果为4 |
/ | 除 | print(4/2) 输出结果为2 |
// | 整除 | print(9//4) 输出结果为2 |
% | 取余 | print(9%4) 输出结果为1 |
** | 乘方 | print(2**4) 输出结果为16 |
() | 优先级 | print((1+1)*3) 输出结果为6 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将=右侧的结果赋值给=左侧的变量名 |
复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | a+=1等价于a=a+1 |
-= | 减法赋值运算符 | a-=1等价于a=a-1 |
*= | 乘法赋值运算符 | a*=1等价于a=ax1 |
/= | 除法赋值运算符 | a/=1等价于a=a/1 |
//= | 整除赋值运算符 | a//=1等价于a=a//1 |
%= | 取余赋值运算符 | a%=1等价于a=a%1 |
**= | 次方赋值运算符 | a**=1等价于a=a**1 |
num1 = 10
num1 += 20
# 新的num1等于旧的num1 + 20,相当于num1 = num1 + 20
print(num1)
运行结果:
30
比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True |
!= | 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a != b) 为 False |
> | 运算符左侧操作数结果是否⼤于右侧操作数结果,如果⼤于,则条件为真,否则为假 | 如a=7,b=3,则(a > b) 为 True |
>= | 运算符左侧操作数结果是否⼤于等于右侧操作数结果,如果⼤于等于,则条件为真,否则为假 | a=3,b=3,则(a >= b) 为 True |
< | 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False |
<= | 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于等于,则条件为真,否则为假 | 如a=3,b=3,则(a <= b) 为 True |
print(10 < 200 < 30)
False
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | a and b | 如果 a 为 False,a and b 返回False | True and False, 返回False。 |
or | a or b | 如果 a 为 True,a or b 返回True | False or True, 返回True。 |
not | not b | 如果 b 为 True, not b 返回False | not True 返回 False; not False返回 True |
# and:和 组合多个条件;只要有一个条件为假,则整体为假
print(10 == 5 and 20 < 100)
# or:或者 只要有一个条件为真,则整体为真,如果条件全是假的,则为假
print(10 == 5 or 20 == 100)
# not:取反 真变假 假变真
print(not 10 == 20)
False
False
True