python中变量与运算符的代码示例讲解

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

本篇文章给大家带来的内容是关于python中变量与运算符的代码示例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

什么是变量

假设两个list做数学运算

>>> [1,2,3,4,5,6] [1,2,3] Traceback (most recent call last):   File "<pyshell#0>", line 1, in <module>     [1,2,3,4,5,6] [1,2,3] TypeError: list indices must be integers or slices, not tuple  //A B,先把A乘以3,然后加上B,最后再加上列表A >>> [1,2,3,4,5,6]*3+[1,2,3]+[1,2,3,4,5,6] [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6]  >>> A = [1,2,3,4,5,6] >>> print(A) [1, 2, 3, 4, 5, 6] >>> B = [1,2,3] >>> A*3 + B + A [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6]

变量名的命名规则

变量名命名只能使用字母、数字、下划线

>>> 1a = 2   //变量名的首字母不能是数字 SyntaxError: invalid syntax >>> A2 = '1' >>> _2 = '1' >>> A*B='1' SyntaxError: can't assign to operator

系统关键字,不能用在变量名中 保留关键字

>>> and = 1 SyntaxError: invalid syntax >>> if = 2 SyntaxError: invalid syntax >>> import = 3 SyntaxError: invalid syntax >>> type = 3   //type不是系统保留关键字,但是不建议作为变量名,否则极易出错 >>> print(type) 3 >>> type = 1 >>> type(1) Traceback (most recent call last):   File "<pyshell#1>", line 1, in <module>     type(1) TypeError: 'int' object is not callable >>> 1(1) Traceback (most recent call last):   File "<pyshell#2>", line 1, in <module>     1(1) TypeError: 'int' object is not callable

python动态语言的特性,声明时不需要指明变量类型

>>> a = '1' >>> a = 1 >>> a = (1,2,3) >>> a = {1,2,3}

值类型与引用类型

int、str、tuple是值类型(不可变),list、set、dict是引用类型(可变)

1.int

>>> a = 1 >>> b = a >>> a = 3 >>> print(b) 1

2.list

>>> 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] >>> a = [1,2,3] >>> id(a) 4405825224 >>> hex(id(a)) '0x1069b8ec8' >>> a[0]='1' >>> id(a) 4405825224 >>>

3.str

>>> a = 'hello' >>> a = a + 'python'  //a加上一个新的字符串,不再是原来的字符串了 >>> print(a) hellopython >>> b = 'hello' >>> id(b) 4405534032 >>> b = b + 'python'  //加上新的字符串后,id改变 >>> id(b) 4355329456 >>> 'python'[0] 'p' >>> 'python'[0]='o' Traceback (most recent call last):   File "<pyshell#8>", line 1, in <module>     'python'[0]='o' TypeError: 'str' object does not support item assignment

4.tuple

>>> a = (1,2,3) >>> a[0] = '1' Traceback (most recent call last):   File "<pyshell#21>", line 1, in <module>     a[0] = '1' TypeError: 'tuple' object does not support item assignment >>> b = [1,2,3] >>> b.append(4) >>> print(b) [1, 2, 3, 4] >>> c = (1,2,3) >>> c.append(4) Traceback (most recent call last):   File "<pyshell#26>", line 1, in <module>     c.append(4) AttributeError: 'tuple' object has no attribute 'append'  >>> a = (1,2,3,[1,2,4]) >>> a[2] 3 >>> a[3] [1, 2, 4] >>> a[3][2] 4 >>> a = (1,2,3,[1,2,['a','b','c']]) >>> a[3][2][1] 'b' >>> a = (1,2,3,[1,2,4]) >>> a[2] = '3' Traceback (most recent call last):   File "<pyshell#7>", line 1, in <module>     a[2] = '3' TypeError: 'tuple' object does not support item assignment >>> a[3][2] = '4' >>> print(a)    //元组内的列表可变 (1, 2, 3, [1, 2, '4'])

运算符

1.算数运算符:+,-,* ,/,//,%,**

>>> 'hello'+'world' 'helloworld' >>> [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   //求N次方 4 >>> 2**5 32

2.赋值运算符:=,+=,-=,*=,/=,%=,**=,//=

>>> c = 1 >>> c = c+1 >>> print(c) 2 >>> c+=1 >>> print(c) 3 >>> c-=1 >>> print(c) 2 >>> c++   //python中没有自增和自减运算符 SyntaxError: invalid syntax >>> c-- SyntaxError: invalid syntax >>> b=2 >>> a=3 >>> b+=a >>> print(b) 5 >>> b-=a >>> print(b) 2 >>> b*=a >>> print(b) 6

3.比较(关系)运算符:==,!=,>,<,>=,<=

>>> 1==1 True >>> 1>1 False >>> 1>=1 True >>> a>=b Traceback (most recent call last):   File "<pyshell#3>", line 1, in <module>     a>=b NameError: name 'a' is not defined >>> a=1 >>> b=2 >>> a!=b True >>> b=1 >>> b+=b>=1    //b=b+True >>> print(b) 2 >>> print(b>=1)      True  >>> 1>1 False >>> 2>3 False >>> 'a'>'b' False >>> ord('a') 97 >>> ord('b') 98 >>> 'abc'<'abd'   //实际上是a和a比,b和b比,c和d比 True >>> ord('abc') Traceback (most recent call last):   File "<pyshell#12>", line 1, in <module>     ord('abc') TypeError: ord() expected a character, but string of length 3 found >>> ord('c') 99 >>> ord('d') 100 >>> [1,2,3]<[2,3,4] True >>> (1,2,3)<(1,3,2) True

4.逻辑运算符:and,or,not

>>> True and True True >>> True and False False >>> True or False True >>> False or False False >>> not False True >>> not True False >>> not not True True

0 被认为是False,非0 表示True

>>> 1 and 1 1 >>> 'a' and 'b' 'b' >>> 'a' or 'b' 'a' >>> not 'a' False >>> a = True >>> b = False >>> a or b True >>> b and a False

空字符串 False

>>> not 0.1 False >>> not '' True >>> not '0' False

空的列表 False

>>> not [] True >>> not [1,2] False >>> [1] or [] [1] >>> [] or [1] [1] >>> 'a' and 'b' 'b' >>> '' and 'b' '' >>> 1 and 0 0 >>> 0 and 1 0 >>> 1 and 2 2 >>> 2 and 1 1 >>> 0 or 1 1 >>> 1 or 0 1 >>> 1 or 2 1

5.成员运算符:in,not in

>>> a = 1 >>> a in [1,2,3,4,5] True >>> b = 6 >>> b in [1,2,3,4,5] False >>> b not in [1,2,3,4,5] True >>> b = 'h' >>> b in 'hello' True >>> b not in (1,2,3,4,5) True >>> b not in {1,2,3,4,5} True >>> b = 'a' >>> b in {'c':1} False >>> b = 1 >>> b in {'c':1} False >>> b = 'c' >>> b in {'c':1}   //字典里面根据key返回 True

6.身份运算符:is,is not

对象的三个特征:id、value、type,判断id用“is”,判断value用“==”,判断type用“isinstance”

>>> a = 1 >>> b = 1 >>> a is b True >>> a='hello' >>> b='world' >>> a is b False >>> c='hello' >>> a is c True >>> a=1 >>> b=2 >>> a==b False >>> a=1 >>> b=1 >>> a is b True >>> a==b True >>> a=1 >>> b=1.0 >>> a==b True >>> a is b   //is不是比较值相等,比较的是两个变量的身份(内存地址)是否相等 False >>> id(a) 4374928384 >>> id(b) 4376239272   >>> a={1,2,3} >>> b={2,1,3} >>> a==b    //集合是无序的 True >>> a is b False >>> id(a) 4433997384 >>> id(b) 4433996488  >>> c=(1,2,3) >>> d=(2,1,3) >>> c==d    //元组是序列,是有序的 False >>> c is d False  >>> a=1 >>> b=2 >>> a==b False >>> a is b False  >>> a = 'hello' >>> type(a) == int False >>> type(a) == str True >>> isinstance(a,str)   //isinstance是判断变量类型的函数 True >>> isinstance(a,int) False >>> isinstance(a,(int,str,float)) True >>> isinstance(a,(int,float)) False

7.位运算符:(==把数字当作二进制数进行运算==)

  • &按位与

  • |按位或

  • ^按位异或

  • ~按位取反

  • <<左移动

  • >>右移动

按位与运算,每一个二进制数位进行对比,两个都为1,则得到1,只要有一个为0,就得到0

>>> a = 2 >>> b = 3 >>> a & b 2
变量 转换为十进制
a 1 0 2
b 1 1 3
按位与 1 0 2

按位或运算,每一个二进制数位进行对比,只要有一个为1,就得到1,两个都为0,则得到0

>>> a = 2 >>> b = 3 >>> a | b 3
变量 转换为十进制
a 1 0 2
b 1 1 3
按位或 1 1 3
本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » python中变量与运算符的代码示例讲解

发表评论

提供最优质的资源集合

立即查看 了解详情