前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础语法--注释,标识符,运算符

python基础语法--注释,标识符,运算符

原创
作者头像
ypoint
修改2019-08-15 16:52:45
1.2K1
修改2019-08-15 16:52:45
举报
文章被收录于专栏:学习python

1. 注释 #号,三引号

1.注释的作用:

注释符号# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用

2.注释分类:

#单行注释 ''' 多行注释 多行注释 多行注释 '''

3.谈谈单引号,双引号,三引号,#号的区别:

单引号和双引号的用法相同: 都是用来表示字符串的一行的字符串,如果需要多行字符串则需要加连接符

三引号则可以表示长字符串(多行字符串),也可以表示多行注释

#号则是单行注释

#! 就是指定运行这个py文件的解释器,同时给这文件添加可执行权限就可以使用"./ + 文件名"直接运行该.py文件

4.为什么要同时保留,单引号和双引号呢?

因为如果字符串里面包含单引号的话,那么最外层的引号则要使用双引号,或者内层的单引号前添加转义字符['\']

2.标识符的规则

1. 标识符的定义

标识符是自己定义的,如变量名 、函数名等

2. 标识符规则

标识符是由字母,下划线和数字组成,且不能以数字开头

3. 命名规则

3.1 小驼峰

3,2 大驼峰

3.3 下划线

符合PEP8规则

4. 关键字

关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符

4.1 查看系统 关键字

import keyword keyword.kwlist

结果:

and as assert break class continue def del elif else except exec finally for from global if in import is lambda not or pass print raise return try while with yield

3. 运算符

  1. 算术运算符:主要用于两个对象算数计算(加减乘除等运算)
  2. 比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)
  3. 赋值运算符:用于对象的赋值,将运算符右边的值(或计算结果)赋给运算符左边。
  4. 逻辑运算符:用于逻辑运算(与或非等)。
  5. 位运算符: 对Python对象进行按照存储的bit操作。
  6. 成员运算符:判断一个对象是否包含另一个对象。
  7. 身份运算符:判断是不是引用自一个对象

1. 算术运算符

算数运算符

描述

实例

+

加 - 两个对象相加数字 或 字符串相加

假设变量: a=10,b=20,a + b 输出结果 30>>> a = 10>>> b = 15>>> a + b25>>> a = 'ni'>>> b = 'hao'>>> a + b'nihao'

-

减 - 得到负数或是一个数减去另一个数仅适用于 数字

假设变量: a=10,b=20,a - b 输出结果 -10>>> a = 10>>> b = 3>>> a - b7

*

乘 - 两个数相乘或是返回一个被重复若干次的字符串

假设变量: a=10,b=20,a * b 输出结果 200>>> a = 2>>> b = 10>>> a * b20

/

除 - x除以y

假设变量: a=10,b=20,b / a 输出结果 2>>> a = 2>>> b = 10>>> b / a5.0

%

取模 - 返回除法的余数

假设变量: a=10,b=20,b % a 输出结果 0>>> a = 2>>> b = 10>>> b % a0

**

幂 - 返回x的y次幂

假设变量: a=10,b=20,a**b 为10的20次方, 输出结果 100000000000000000000>>> a = 2>>> b = 10>>> a ** b1024

//

取整除 - 返回商的整数部分

假设变量: a=10,b=20,9//2 输出结果 4 , 9.0//2.0输出结果 4.0>>> a = 2>>> b = 10>>> b // a5

2. 比较运行符

比较运算符

描述

实例

==

等于 - 比较对象是否相等

假设变量: a=10,b=20,(a == b) 返回 False。>>> a = 2>>> b = 10>>> a == bFalse

!=

不等于 - 比较两个对象是否不相等

假设变量: a=10,b=20,(a != b) 返回 true.>>> a = 2>>> b = 10>>> a != bTrue

<>

不等于 - 比较两个对象是否不相等

Python3.6中没有这个操作符

>

大于 - 返回x是否大于y

假设变量: a=10,b=20,(a > b) 返回 False。>>> a = 2>>> b = 10>>> a > bFalse

<

小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。

假设变量: a=10,b=20,(a < b) 返回 true。>>> a = 2>>> b = 10>>> a < bTrue

>=

大于等于 - 返回x是否大于等于y。

假设变量: a=10,b=20,(a >= b) 返回 False。>>> a = 10>>> b = 10>>> a >= bTrue

<=

小于等于 - 返回x是否小于等于y。

假设变量: a=10,b=20,(a <= b) 返回 true。>>> a = 10>>> b = 10>>> a <= bTrue

3.赋值运算符

赋值运算符

描述

实例

=

简单的赋值运算符

假设变量: a=10,b=20,c = a + b 将 a + b 的运算结果赋值为 c>>> a = 10>>> a10>>> a = 10 + 5>>> a15

+=

加法赋值运算符

假设变量: a=10,b=20,c += a 等效于 c = c + a>>> a = 0>>> a += 1>>> a1>>> a += 10>>> a11>>> a = 'a'>>> a += 'b'>>> a'ab'

-=

减法赋值运算符

假设变量: a=10,b=20,c -= a 等效于 c = c - a>>> a = 10>>> a -= 1>>> a9

*=

乘法赋值运算符

假设变量: a=10,b=20,c *= a 等效于 c = c * a>>> a = 2>>> a *= 10>>> a20>>> a = 'z'>>> a *= 5>>> a'zzzzz'

/=

除法赋值运算符

假设变量: a=10,b=20,c /= a 等效于 c = c / a>>> a = 10>>> a /= 2>>> a5.0

%=

取模赋值运算符

c %= a 等效于 c = c % a>>> a = 10>>> a %= 3>>> a1

**=

幂赋值运算符

c **= a 等效于 c = c ** a>>> a = 2>>> a **= 10>>> a1024

//=

取整除赋值运算符

c //= a 等效于 c = c // a>>> a = 11>>> a //= 2>>> a5

4.逻辑运算符

(0、''、[]、()、{}、None、False) 均为 false

逻辑运算符

逻辑表达式

描述

实例

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。>>> a = 0>>> b = 1>>> a and b0>>> a = 'a'>>> a and b1

a = 10 , b =20(a and b) - - -> 20(b and a) - - -> 10都为真,返回最后一个值a = 0 , b = 10只要有1个数为0返回值都为0

or

x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。>>> a = 0>>> b = 1>>> a or b1

(a or b) 返回 10。有一个值为真,就返回该值都为假,则返回最后一个假

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。>>> a = 0>>> not aTrue

not(a and b) 返回 False

5.位运算符

位运算符

描述

实例

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a & b) 输出结果 12 ,二进制解释: 0000 1100>>> a=1>>> b=2>>> a&b0>>> b=3>>> a&b1

|

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。只要有1 就 为 1. 对应的位都为0才为0

(a | b) 输出结果 61 ,二进制解释: 0011 1101>>> a = 1>>> b = 2>>> a|b3

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001>>> a = 1>>> b = 3>>> a^b2

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。>>> a = 0>>> ~a-1>>> a = 1>>> ~a-2

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

a=2,a << 2 输出结果 8 ,二进制解释:0000 0010向右移两位,0000 0100。>>> a = 2>>> a << 28

>>

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

a >> 2 输出结果 15 ,二进制解释: 0000 1111>>> a = 16>>> a >> 18

6.成员运算符

成员运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。>>> a = 'a'>>> b = 'cba'>>> a in bTrue>>> b = list(b)>>> b['c', 'b', 'a']>>> a in bTrue

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。>>> a = 'a'>>> b = 'cba'>>> a not in bFalse>>> b = list(b)>>> b['c', 'b', 'a']>>> a not in bFalse

7. 身份运算符

身份运算符

描述

实例

is

is是判断两个标识符是不是引用自一个对象

x is y, 如果 id(x) 等于 id(y) , is 返回结果 1>>> a = 'a'>>> b = 'b'>>> a is bFalse>>> b = 'a'>>> a is bTrue>>> id(a)2422111596248>>> id(b)2422111596248

is not

is not是判断两个标识符是不是引用自不同对象

x is not y, 如果 id(x) 不等于 id(y). is not返回结果 1>>> a = 'a'>>> b = 'b'>>> a is not bTrue>>> b = 'a'>>> a is bFalse>>> id(a)2422111596248>>> id(b)2422111596248

重要运算符说明

join和符号”+“区别

建议:字符串拼接操作尽量多用join,而减少用”+“

join操作时会先计算字符操作所用到的空间总和大小,然后申请内存。然后进行字符串连接操作。所以join的时间复杂的近似O(n)。

+操作符连接操作符时,由于字符串是不可变对象,所以多个字符串拼接操作时从前向后的依此计算,用前一次的计算结果再和下一个字符串拼接。所以每次操作都需要申请一块新的内存。举例:S1+S2+S3+…Sn,实际过程是:1、先申请一块内存;2、将S1、S2复制到这块内存中(这样这块内存就是S1+S2);3、继续第一步申请内存;4、继续把第二步的内存内容和S3复制到第三步申请的内存。然后重复第一步到第二步至计算到Sn。所以操作符”+“的时间复杂的近似O(n^2)

链接字符串数量

join操作消耗时间

+操作消耗时间

3

0.011083841323852539

0.02231597900390625

10

0.014094829559326172

0.05936312675476074

100

0.1445930004119873

0.6129770278930664

1000

1.340691089630127

6.07816481590271

10000

13.942554950714111

61.60126209259033

is和”==“区别

is是比较对象是否相同(is表示对象标识符即object identity),即用id()函数查看的地址是否相同,如果相同则返回True,如果不同则返回False。is不能被重载。

”==“是比较两个对象的值是否相等,此操作符内部调用的是”__eq__()“方法。所以a==b等效于a.__eq__(b),所以”==“可以被重载。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 注释 #号,三引号
    • 1.注释的作用:
      • 2.注释分类:
        • 3.谈谈单引号,双引号,三引号,#号的区别:
          • 4.为什么要同时保留,单引号和双引号呢?
          • 2.标识符的规则
            • 1. 标识符的定义
              • 2. 标识符规则
                • 3. 命名规则
                • 4. 关键字
                  • 4.1 查看系统 关键字
                  • 3. 运算符
                    • 1. 算术运算符
                      • 2. 比较运行符
                        • 3.赋值运算符
                          • 4.逻辑运算符
                            • 5.位运算符
                              • 6.成员运算符
                                • 7. 身份运算符
                                • 重要运算符说明
                                  • join和符号”+“区别
                                    • is和”==“区别
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档