1.对象
每个对象由:标识(identity)、类型(type)、value(值)组成

对象的本质就是:一个内存块,就好像一个小箱子,里面包含了特定的值,支持特定类型的相关操作
实操:打印出对象的值,标识(地址),类型
a=3
print(a) #3
print(id(a)) #id: 140722005402472
print(type(a)) #type: <class 'int'>
b='我爱Python'
print(b) #我爱Python
print(id(b)) #id: 2346153006384
print(type(b)) #type: <class 'str'>
2.标识符(命名规则)
编写代码使,我们需要创建各种各样的名称用来辨识,但是创建名称需要遵循规则:
- 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
- 不能使用关键字。比如:
if、or、while等 - 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:
__init__是类的构造函数

接下来是一些常用规则:
| 类型 | 规则 | 例子 |
|---|---|---|
|
模块和包名 | 全小写字母,尽量简单。若多个单词之间用下划线 | math, os, sys |
| 函数名 | 全小写字母,多个单词之间用下划线隔开 | phone, my_name |
| 类名 | 首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写 | MyPhone、MyClass、Phone |
| 常量名 | 全大写字母,多个单词使用下划线隔开 | SPEED、MAX_SPEED |
3.变量
变量的声明和初始化(赋值)
用于将一个变量绑定到一个对象上,格式:变量名 = 表达式(例:a = 3)
变量名 = 表达式
a = 3
变量的删除
可以通过del语句删除不再使用的变量。
a = 3
del a
print(a) #报错,因为a已经被删除,找不到a
4.常量
常量的修改
常量在逻辑上不可修改,但实际上常量可以修改。
A = 120
print(A) #输出120
A = 140 #逻辑上不能修改,实际是可以改的。
print(A) #输出140
链式赋值
链式赋值用于同一个对象赋值给多个变量。比如我们可以用一行代码,让x与y同时赋值123
x = y = 123
print(x) #123
print(y) #123

系列解包赋值
系列数据赋值给对应相同个数的变量(个数必须保持一致)
a,b=1,2 相当于:a=1;b=2
a,b=1,2
print(a,b) #输出1 2
同时可以实现变量值互换
a,b=1,2
a,b=b,a #变量值互换
print(a,b) #输出2 1
5.基本内置数据类型
-
整型 int
整数: 1,12,123,1234
-
浮点型
float小数:
3.14或者科学计数法314e-2(e-2=10^-2) -
布尔型 bool
表示真假,仅包含:
True、False -
字符串型 str
由字符组成的序列: 'abc','月木天上','python研发部'
运算符
运算符基本运算符
| / | 浮点数除法 | 8/2 | 4.0 |
| // | 整数除法 | 7//2 | 3 |
| % | 模(取余) | 7%4 | 3 |
| ** | 幂 | 2**3 | 8 |
同一运算符
is 与 == 区别:
1.is ,is not用于判断两个对象引用的变量是否为同一个,即判断对象的地址(标识)是否相同
a=100
b=100
c=30
print(a is b) #执行结果:True,因为a和b是同一个对象
print(a is c) #执行结果:False,因为a和c不是同一个对象
2.== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法。
a=100
b=100
c=30
print(a == b) #执行结果:True,因为a和b的值相同
print(a == c) #执行结果:False,因为a和c的值不同
总结:is判断地址是否相同,==判断值是否相同,is 运算符比 == 效率高,当变量与None进行比较时,应该使用 is
成员运算符
in与not in
如果在指定的序列中找到值返回 True,否则返回 False
a = "python123"
b = "py"
c = "123"
print(b in a) #True
print(c not in a) #False
增强型赋值运算符
运算符+、-、*,/、//、**和%和赋值符 = 结合可以构成“增强型赋值运算符”。
| 运算符 | 例子 | 等价 |
|---|---|---|
| += | a += 2 | a = a + 2 |
| -= | a -= 2 | a = a-2 |
| *= | a *= 2 | a = a * 2 |
| /= | a /= 2 | a = a / 2 |
| //= | a //= 2 | a = a//2 |
| **= | a **= 2 | a = a**2 |
| %= | a %= 2 | a = a % 2 |
整数
三种进制
二进制: 0b或0B开头,后面字符包含有 0 1
八进制: 0o或0O开头,后面字符包含有0 1 2 3 4 5 6 7
十六进制: 0x或0X开头,后面字符包含有0 1 2 3 4 5 6 7 8 9 a b c d e f
a=0b101001
print(a) #根据二进制转换输出44
类型转换 bin()
将数字转化为二进制。如:bin(44) = 0b101100
类型转换 int()
- 将浮点数化为整数。如:
int(9.9)结果是:9 - 将布尔值化为整数,
True为1,False为0。 如:int(True)结果是1
自动转型
整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.0
浮点数
类型转换 float()
将整数转换为浮点数。int(3)结果是:3.0
四舍五入 round()
可以返回四舍五入的值。但不会改变原有值,而是产生新的值。round(12.4)的结果是12
布尔值
布尔值本质
布尔值True本质为1,False为0,是数字 (注意首字母大写)
a = 1 + True
print(a) #输出:2
在Python语言中有一些特殊的布尔类型值为False
例如:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。
空字符串 bool("") 输出False
空列表 bool([]) 输出False
None布尔类型 bool(None) 输出False
0布尔类型 bool(0) 输出False
其他情况,均为True。 比如:
数字类型 bool(1) 输出True
字符串True和False转成布尔 bool("False") 输出True
逻辑运算符
| 运算符 | 格式 | 说明 |
|---|---|---|
| or 逻辑或 | print(x or y) | x为true,则不计算y,直接返回true;x为false,则返回y |
| and 逻辑与 | print(x and y) | x为true,则返回y的值,x为false,则不计算y,直接返回false |
| not 逻辑非 | print(not x) | x为true,返回false;x为false,返回true |
比较运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于 - 比较对象的值是否相等 | (a == b) 返回 False。 |
| != | 不等于 - 比较两个对象的值是否不相等 | (a != b) 返回 true. |
| > | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
| < | 小于 - 返回x是否小于y。 | (a < b) 返回 true。 |
| >= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
| <= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
位运算符
| 运算符 | 描述 |
|---|---|
| & | 按位与运算符:两个值的对应位都为1,则该位结果为1,否则0 |
| | | 按位或运算符:两个值的对应位只要有一个1,则该位结果为1,否则0 |
| ^ | 按位异或运算符:两个值的对应位相异为1,相同为0 |
| ~ | 按位取反运算符:对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1 |
| << | 左移动运算符:运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高位丢弃,低位补0 |
| >> | 右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动的位数 |
看不懂可以看结合以下代码理解,此内容了解即可,不是重点:
a = 0b11001
b = 0b01000
#bin()可以将数字转成二进制表示
print(bin(a&b)) #0b1000
print(bin(a|b)) #0b11001
print(bin(a^b)) #0b10001
print(bin(~a)) #取反
print(3<<2) #左移1位相当于乘以2.左移两位相当于:3*4
print(20>>1) #右移一位相当于除以2
加法操作补充
- 数字相加
3+2结果是5 即ptint(3+2),下面大家都print操作一下 - 字符串拼接
“3”+“2”结果是“32” - 列表、元组等合并
[10,20,30]+[5,10,100]结果是[10,20,30,5,10,100]
乘法操作补充
- 数字相乘
3*2结果是6 - 字符串复制
“sxt”*3结果是”sxtsxtsxt” - 列表、元组等复制
[10,20,30]*3结果是[10,20,30,10,20,30,10,20,30]
时间 import time模块
通过import time插入时间模块
int(time.time())表示从1970年至今过了多少秒,是一个数
import time #引入模块
a = int(time.time())
print(a) #输出1970年至今过了多少秒
本文介绍了Python中的基础概念,包括对象结构、内存管理、标识符命名规则、变量声明与删除、常量特性、运算符使用(包括比较、逻辑和位运算)、数据类型(如整型、浮点型、布尔型等)、时间和序列操作。
18万+

被折叠的 条评论
为什么被折叠?



