前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python语言基础

python语言基础

作者头像
py3study
发布2020-01-10 12:14:47
6060
发布2020-01-10 12:14:47
举报
文章被收录于专栏:python3python3
python基础语言
注释
代码语言:javascript
复制
单行注释:#
多行注释:''' ''' 或 """ """
数字
代码语言:javascript
复制
整型(Int)
- 通常被称为是整型或整数,是正或负整数,不带小数点。
长整型(long integers)
- 无限大小的整数,整数最后是一个大写或小写的L。
bool(布尔型)
    true
    false
浮点型(floating point real values)
- 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数(complex numbers)
- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

-0490

535633629843L

-90

-6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2-E12

4.53e-7j

注意:
代码语言:javascript
复制
长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型
字符串:
代码语言:javascript
复制
使用' 或"引号引用的字符的序列
使用''' ''' 或"""单双引号,可以跨行,可以在其中自由的使用双引号,多行注释
在字符串前面加上r或者R前缀,表示该字符不能做特殊处理
如:
print ("ar/nbbb")
ar/nbbb
基础语法
转义序列:

转义字符

描述

\ \

反斜杠

\t

横向制表符

\

续行符

\r

回车键

\n

换行

\'

单引号

\"

双引号

代码语言:javascript
复制
前缀r,把里面所有的字符当普通字符对待
缩进
代码语言:javascript
复制
未使用C语言的花括号,而是采用缩进的方式表示层级关系
约定使用4个空格缩进
续行
代码语言:javascript
复制
在行尾使用/
如果使用各种括号,认为括号内是一个整体,内部跨行不能用\
标识符:
代码语言:javascript
复制
1.一个名字,用来指代一个值
2.只能字母、下划线和数字
3.只能以字母或下划线开头
4.不能是Python的关键字,例如def、class就不能作为标识符
5.Python是大小写敏感的
约定:
不允许使用中文
不允许使用歧义单词,例如class_
在Python中要随便使用下划线开头的表示符
常量:
代码语言:javascript
复制
一旦赋值就不能改变值的标识符
Python中无法定义常量
字面常量:
代码语言:javascript
复制
一个单独的量,例如12、"abc"、'2341356514.03e-9'
变量:
代码语言:javascript
复制
赋值后,可以改变值的标识符
Python语言类型
代码语言:javascript
复制
Python是动态语言、强类型语言
静态编译语言:
实现声明变量类型,类型不能再改变
编译时检测
动态编译语言:
不用事先声明类型,随时可以赋值为其他类型
编译时不知道是什么类型,很难推断
强类型语言:
不同类型之间操作,必须先强制类型转换为同一类型,如 print ('a'+1)
弱类型语言:
不同类型间可以操作,自动隐式转换,JavaScript中console.log(1+'a')
运算符:
Python算术运算

运算符

描述

实例

+

加 -

a + b 输出结果 30

-

减 -

a - b 输出结果 -10

*

a * b 输出结果 200

/

b / a 输出结果 2

%

取模

b % a 输出结果 0

**

a**b输出结果8

//

取整除

9//2 输出结果4

Python比较运算符:
代码语言:javascript
复制
== != > < >= <=
返回一个bool值
1 < '1' 1 == '1'

运算符

描述

实例

==

等于 - 比较对象是否相等

(a == b) 返回 False

!=

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

(a != b) 返回 true

<>

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

(a <> b) 返回 true

>

大于 - 返回x是否大于y

(a > b) 返回 False

<

小于 - 返回x是否小于y

(a < b) 返回 true

>=

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

(a >= b) 返回 False

<=

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

(a <= b) 返回 true

python赋值运算符:

运算符

描述

实例

=

简单的赋值运算符

c = a + b将 a + b 的运算结果赋值为c

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c = a 等效于 c = c a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c = a 等效于 c = c a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

Python位运算符:
代码语言:javascript
复制
& | ~ ^ << >>
常用方式:乘除2的倍数,32 // 4相当于32 >> 2
12,0xc,0o14,0b1100
~12等于多少,为什么
python语言基础
python语言基础
原码、反码、补码
代码语言:javascript
复制
原码:
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值,比如如果是8位二进制
1 原码: 0000 0001
-1原码:1000 0001
第一位是符号位,因为第一位是符号位,所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]
即
[-127 , 127]
反码:
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上,符号位不变,其余个位取反
即
1  原码:0000 0001   反码:0000 0001
-1 原码:1000 0001   反码:1111 1110
可见如果一个反码表示的是负数,人脑无法直观的看出来它的数值,通常要将其转换成原码再计算
补码:
补码的表示方式是:
正数的补码是其本身
负数的补码是在其自身的基础上,符号位不变,其余各位取反,最后加1
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
逻辑运算符

运算符

逻辑表达式

描述

实例

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 20

or

x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

not(a and b) 返回 False

代码语言:javascript
复制
与或非and or not
短路运算符:
and如果第一个表达式为false,后面就没有必要计算了,这个逻辑表达式一定是false
or如果第一个表达式true,后面没必要计算了,这个逻辑表达式一定是
python成员运算符

运算符

描述

实例

in

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

x 在 y 序列中 , 如果 x 在 y 序列中返回 True

not in

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

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

python身份运算符

运算符

描述

实例

is

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

x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

is not

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

x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False

is 与 == 区别:
例子测试
代码语言:javascript
复制
In [1]: a = 'h1'
In [2]: b = 'h1'
In [3]: a is b
Out[3]: True
In [4]: a == b
Out[4]: True

a1 = 'I am using long string for testing'
a2 = 'I am using long string for testing'
a1 is a2      
False
a1 == a2
True

In [9]: str1 = 'string'
In [10]: str2 = "".join(['s','t','r','i','n','g'])
In [12]: str1 is str2
Out[12]: False
In [13]: str1 == str2
Out[13]: True
总结
代码语言:javascript
复制
is表示是对象标识符,而==表示是相等,显然两者不是一个东西。实际上,造成上面案例不一致的根本原因在于
is的作用是用来检查标识符是否一致,也就是比较两个对象的内存是否拥有同一块内存空间,它并不适合用来判断
两个字符串是否相等。x is y仅当x和y是同一个对象的时候返回True,x is b相当于id(x) == id(y),而
==才是用来检验两个对象的值是否相等的,它实际上调用的是内部__eq__()方法,因此a == b相当于a.__eq__(b),
所以==操作符是可以被重载的,而is不能被重载。一般情况下,如果x is y为True的话x == y 的值也为True,反之亦然。
对于长短字符串id值不一样,是有一个python中的string interning(字符串驻留)机制决定的:对于较小的字符串,为了提高
系统性能会保留其值得一个副本,当创建新的字符串的时候直接指向该副本即可。而长字符串不会驻留,
python内存中各自创建对象
来表示a1,a2,这两个对象拥有相同内容但对象标识符却不相同,所以==的值为True而is的值为False
运算符的优先级(从高到低)
python语言基础
python语言基础
代码语言:javascript
复制
算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
长表达式,多用括号,易懂,易读
表达式:
代码语言:javascript
复制
由数字、符号、括号、变量等组合
算数表达式
逻辑表达式
赋值表达式
Python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python基础语言
  • 注释
  • 数字
  • 注意:
  • 字符串:
  • 基础语法
  • 转义序列:
  • 缩进
  • 续行
  • 标识符:
  • 常量:
  • 字面常量:
  • 变量:
  • Python语言类型
  • 运算符:
  • Python算术运算
  • Python比较运算符:
  • python赋值运算符:
  • Python位运算符:
  • 原码、反码、补码
  • 逻辑运算符
  • python成员运算符
  • python身份运算符
  • is 与 == 区别:
  • 例子测试
  • 总结
  • 运算符的优先级(从高到低)
  • 表达式:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档