【慕课网】Python入门笔记 「5」变量与运算符
[TOC]
1. 什么是变量
就是名字
"=":代表赋值符号
给变量起名字一定要代表一定含义
命名可读性要强
2. 变量的命名规则
- 变量名首字符不能是数字
- 可以使用字母、数字、下划线
- 系统保留关键字不可命名
- 区分变量名大小写
- 变量赋值没有类型限制(动态语言)
3. 值类型与引用类型
>>> a = 1
>>> b = a
>>> a = 3
>>> print(b)
1
>>> a = [1,2,3,4]
>>> b = a
>>> a[0] = '1'
>>> print(b)
['1', 2, 3, 4]
>>>
- 列表是引用类型(C语言:指针)
值类型(不可改变):int str tuple
引用类型(可变):list set dict
可变与不可变判断的标准是,重新赋值时是否改变了储存地址
值类型重新赋值时改变了内存地址,之前的内存地址将进入垃圾回收机制
4. 算数运算符
- 算数运算符
>>> 'hello' + ' world'
'hello world'
>>> [1,2,3]*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 3-1
2
>>> 3/2
1.5
>>> 3//2
1
>>> 5%2
1
# 2的2次方
>>> 2**2
4
6. 赋值运算符
=、+=、=、/=、%=、*=、//=
先做运算再赋值
>>> c = 1
>>> c+=2
>>> c
3
python是没有自增或自减运算的
>>> c++
SyntaxError: invalid syntax
>>> c--
SyntaxError: invalid syntax
7. 比较运算符
==、!=、>、<、>=、<=
不止是数字可以进行比较,字符串、布尔也可以比较.
8. 不只是数字才能作比较
数字可以和布尔类型做运算
>>> b = 1
>>> b+=b>=1
>>> b
2
>>> b>=1
True
>>> b=b+1
>>> b
3
>>> b+=True
>>> b
4
字符串可以与字符串进行比较
>>> 'h'>'w'
False
>>> ord('h')
104
>>> ord('w')
119
长字符串进行比较时:逐位对比,不相等的位展示对比结果
>>> 'abc'<'abd'
True
>>> 'abc'>'acb'
False
>>> 'adc'>'ach'
True
>>> 'adlkjdsf'>'a'
True
列表可以和列表进行比较:逐位对比,不相等的位展示对比结果
>>> [1,2,3]<[2,3,4]
True
元组同理
9. 逻辑运算符
and(且) or(或) not(非)
主要操作布尔类型,返回结果也是布尔类型
>>> True or False
True
>>> not True
False
>>> 'a' and 'b'
'b'
>>> 'a' or 'b'
'a'
>>> not 'a'
False
int float 0被认为False,非0被认为True
str 空字符串被认为False,非空字符串被认为True
list 空列表被认为Flase,非空列表被认为True
tuple、set、dict同理
and、or返回规律
10. 成员运算符
in(在) 、not in(不在)
用于判断一个元素是否在一组元素中
int <--> List
str <--> str
int <--> tuple
int <--> set
字典成员运算符的特点:判断的是key,而不是判断value
11. 身份运算符
is、is not
返回bool
如果两个变量取值相等,则is 返回 True 否则 False
is 与 == 的区别
== 比较的是值是否相等
is不是比较值相等,比较的是身份(内存地址)是否相等。就是比较指针是否相等
12. 如何判断变量的值
判断变量类型:使用函数isinstance(变量,类型)
>>> isinstance(a,str)
False
>>> isinstance(a,(int,str,float))
True