python基础 - 变量与运算符
变量与运算符
变量
定义一个变量
a = [1,2,3,4,5,6]
print(a) # [1,2,3,4,5,6]
变量命名要求:
- 首字母不能是数字
- 只能包含字符数字下划线
- 不能是关键字
type 不是关键字,可以做变量名,但是不建议使用。
变量名区分大小写。
关于列表
a = 1
b = a
a = 3
print(b) # 1
a = [1,2,3,4,5]
b = a
a[0] = '1'
print(a) # ['1',2,3,4,5]
print(b) # ['1',2,3,4,5]
int, str, tuple 是值类型(不可改变)
list, set, dict 是引用类型(可变)
a = 'Hello'
a = a + ' Python'
print(a) # Hello Python
id(): 显示内存地址
b = 'hello'
id(b) # 49675488
b = b + ' python'
id(b) # 49748392
# 内存地址改变
字符串不可改变
'python'[0] # p
'python'[0] = 'a' # 报错, 不可改变
关于 type
type = 1 # 此时,type 代表 1
type(1) # 报错
关于tuple list
list
a = [1,2,3]
id(a)
a[0] = [6]
id(a) # 地址不变
b = [1,2,3]
b.append(4)
print(b) # [1,2,3,4]
tuple
a = (1,2,3)
a[0] = '6' # 报错
c = (1,2,3)
c.append(4) # 报错
元组中列表的内容可以修改
a = (1,2,[3,4])
a[2][0] = 6
print(a) # (1,2,[6,4])
运算符
+, -, *, /, //, %,
3 // 2 # 1,结果为整数
3**2 # 3 的平方
3**3 # 3 的三次方
// 赋值
=
+=
-+
//=
**/
Bool
==
>
>=
<
<=
!=
布尔值相加
b = 1
b += True # 2
list, tuple 也可以比较
[1,2,3] < [1,3,2] # True
(1,2,3) < (1,3,2) # True
逻辑运算符
and: 两个都为真才为真
or: 有一个为真即为真
not: not False: 真,返回相反的 bool 值
True and True # True
False or False # True
not False # True
相关运算
1 and 2 # 2, 都为真,返回第二个
'' and 'b' # '', 有一个为假,返回为假的元素
0 and '' # 0, 都为假返回第一个元素
'a' or 'b' # 'a', 都为真,返回第一个元素师
0 or 1 # 1, 有一个为真,返回为真的元素
1 or 0 # 1, 有一个为真,返回为真的元素
not 'a' # False
空的字符串,列表,set,dict 为 False.
成员运算符
in. not in
返回 bool 值
a = 1
a in [1,2,3] # True
a not in [2,3,4] # True
列表,集合,元组都可以
字典
a = 'b'
c = {
'b':1
}
a in c # True
# a 包含在 c 的键中,返回 True
身份运算符
is, not is
返回结果为 bool 值
is 不是比较值相等,is 比较的是两个变量的身份是否相等(内存地址)
not is 身份是否不等
a = 1
b = 1.0
a == b # True
a is b # False
a = 1
b = 1
a is b # True
a = {1,2,3}
b = {1,3,2}
a == b # True
a is b # False
# 集合是无序的,顺序不影响
# a b 地址不同
a = (1,2,3)
b = (1,3,2)
a == b # False
a is b # False
# 元素属于序列,是有序的
a = [1,2,3]
b = [1,2,3]
a == b # True
a is b # False
a = [1,2]
b = [2,1]
a == b # False
a is b # False
判断字符串类型:isinstance()
a = 1
isinstance(a,int) # True
isinstance(a,(int,str)) # True
# 第二个参数只能为元组,[],{} 会报错
位运算符
& # 按位与
| # 按位或
^ # 按位异或
~ #
…………
&
# 二进制对应位置都为 1 为 1 否则为 0
2: 1 0
3: 1 1
&: 1 0
|
# 二进制对应位置只要有一个为 1 就为 1 都为0 则为 0
2: 1 0
3: 1 1
|: 1 1
python基础 - 变量与运算符的更多相关文章
- python基础语法(运算符及优先级)
python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者 ...
- Python概述 —变量及运算符
Python概述-变量及运算符 1.变量的构成 2.变量的类型 3.内存模型 4.变量命名规则 5. 算数与逻辑运算符 6.位运算符 #变量的构成 变量名:方便查找 变量值:实际要存储的内容 变量类型 ...
- python基础之七种运算符
废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...
- python基础语法_7运算符
http://www.runoob.com/python3/python3-basic-operators.html#ysf7 目录 Python语言支持以下8类型的运算符: 算术运算符(-,+,*, ...
- Python 基础 变量和数据类型
python 数据类型 一,整数,可以出来任意大小的整数. 如 1, 100, -8080,0 等等. 二,浮点数,浮点数也可以被成为小数. 三,字符串,字符串是以'' 或"". ...
- python基础-变量运算符(3)
一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...
- python基础一(运算符/变量定义/数据类型)
一.运算符 1.算数运算符 (1)加(+) 注意:字符串与整数之间不能进行相加,需要通过str()或int()进行转换数据类型 整数与整数相加 >>> 1 + 1 2 >> ...
- python基础--数据类型、运算符、流程控制
原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143165862 ...
- 计算机基础,Python基础--变量以及简单的循环
一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存 用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...
随机推荐
- postgresql 清空数据表 truncate
在 mysql 中如果需要清空表,只需要 TRUNCATE table_name; 即可,如果有自增的 id 字段,也会还原回 1, 但是 postgresql 与 mysql 稍有不同,postgr ...
- js与jQuery操作select大全
Js操作Select是很常见的,也是比较实用的,每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 一.js操作select部分 判断select选项中 是否存在V ...
- LoadRuner12.53教程(三)
教训1:建立一个Vuser Script jiào教 xùn训 1 : jiàn建 lì立 yī一 gè个 V u s e r S c r ...
- 自己动手实现java数据结构(七) AVL树
1.AVL树介绍 前面我们已经介绍了二叉搜索树.普通的二叉搜索树在插入.删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低.这也引出了平衡二叉搜索树的概念,平衡二叉搜 ...
- solr源码分析之数据导入DataImporter追溯。
若要搜索的信息都是被存储在数据库里面的,但是solr不能直接搜数据库,所以只有借助Solr组件将要搜索的信息在搜索服务器上进行索引,然后在客户端供客户使用. 1. SolrDispatchFilter ...
- 一篇迟到的gulp文章,代码合并压缩,less编译
前言 这篇文章本应该在去年17年写的,但因为种种原因没有写,其实主要是因为懒(捂脸).gulp出来的时间已经很早了,16年的时候还很流行,到17年就被webpack 碾压下去了,不过由于本人接触gul ...
- Extjs 在项目中碰到问题
1.切换tabpanel,新建tab关闭后再新建报错,在火狐下报错 TypeError: el is null el.addCls.apply(el, arguments); 这个我在下一篇文章中 ...
- java.. C# 使用AES加密互解 采用AES-128-ECB加密模式
java需要下载外部包, commons codec.jar 1.6 較新的JAVA版本把Base64的方法改成靜態方法,可能會寫成Base64.encodeToString(encrypted, ...
- repository和repertory
在研究.net core的时候知道了仓储这个概念,并发现两个单词repository和repertory 两者都有仓库,储藏所,储藏的意思,repository还指知识渊博的人,repertory除了 ...
- Modular Inverse(zoj3609+欧几里德)
Modular Inverse Time Limit: 2 Seconds Memory Limit: 65536 KB The modular modular multiplicative ...