IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础语法 -> 正文阅读

[Python知识库]Python基础语法

写在前面

一、 解释器

Python的解释器是Python.exe,用来解释运行编写的Python代码

我们下载的Python(无论是2版本,还是3版本)自带解释器和编译器,可以直接在命令行敲入代码,或者写一个文本然后调用Python的解释器来执行也可以

常见的有CPython、IPython、PyPy、Jython、IronPython等

二、 Python编程模式

Python 的编程模式分为两种:交互式脚本式

**交互式编程:**打开 cmd 窗口(命令提示符窗口),在窗口中键入python进入了交互式编程,此时直接输入 python 语句就可以得到运行的结果

**脚本式编程:**先把 python 语句写好并保存在后缀为 .py 的文件里,从外部调用这个文件,也可以使用 cmd 窗口进行调用

交互式编程

在命令提示符中输入"Python"命令来启动Python解释器
在这里插入图片描述

脚本式编程

  1. cmd窗口调用.py文件
  2. 安装IDE(以PyCharm为例)
    PyCharm是一个IDE,使编写程序更加方便,但是PyCharm不带Python解释器,所以在安装PyCharm之前,要安装好Python

Pycharm配置好解释器之后如下所示:
-在这里插入图片描述

File→Setting→Python Interpreter查看
在这里插入图片描述

基础语法

一、 编码

默认情况下为 UTF-8 编码,所有字符串都是 unicode 字符串

二、 import

在 python 用 import 或者 from…import 来导入相应的模块

整个模块(somemodule)导入,格式为: import somemodule

某个模块导入某个函数,格式为: from somemodule import somefunction

某个模块导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

某个模块中的导入全部函数,格式为:from somemodule import *

三、 标识符

  • 第一个字符必须是字母表中字母下划线 _
  • 标识符的其他的部分由字母数字下划线组成
  • 区分大小写
  • 不可以使用关键字
  • 在 Python 3 中,可以用中文作为变量名

四、 关键字(保留字)

Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字
在这里插入图片描述

五、 注释

单行注释

以 # 开头

# 注释以#开头
print("Hello World!"); #输出Hello World!

多行注释

①多个 # 号

# 第一行注释
# 第二行注释

② ‘’’

'''
第一行注释
第二行注释
'''

“”"(建议使用)

"""
第一行注释
第二行注释
"""

六、 语句

单行语句

Python一般为单行语句
如果语句很长,可以使用 反斜杠 \ 来实现多行语句
tips:在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \

# 使用 反斜杠 \  来实现多行语句
fruit = apple + \ 
        banana + \
        peach
#在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \
fruit = ['apple', 'banana', 
        'peach']

同一行显示多条语句

同一行显示多条语句时,语句之间使用分号 ; 分割

七、 代码块(多个语句构成的代码组)

代码块的表示

区别于C、Java等语言,Python代码块不使用大括号 {}
用缩进(or空格)来表示代码块,因此同一个代码块的语句必须包含相同的缩进空格数
tips:缩进是Python语法的一部分

代码块的应用

缩进相同的一组语句构成一个代码块,成为代码组
if、while、def和class这样的复合语句,首行以关键字开始,以冒号: 结束,该行之后的一行或多行代码构成代码组【首行及后面的代码组称为一个子句(clause)
例:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

八、 空行

空行也是程序代码的一部分

函数之间类的方法之间用空行分隔,表示一段新的代码的开始。
类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

作用:分隔两段不同功能或含义的代码

tips:
与代码缩进不同,空行并不是Python语法的一部分(不写也不会出错),但是是程序代码的一部分

九、 等待用户输入

"\n\n"在结果输出前会输出两个新的空行,按下 enter 键时,程序将退出:

input("\n\n按下 enter 键后退出。")

十、 print 输出

print 默认输出换行,如果要实现不换行需要在变量末尾加上 end=""

x="a"
y="b"
# 换行输出
print( x )
print( y )
"""
a
b
"""
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()
"""
a 
b 

"""

十一、 变量

没有类型,不需要声明!

类型是变量所指的内存中对象的类型

每个变量在使用前都必须赋值,赋值后才会被创建

十二、 赋值

赋值:变量名 = 变量值

多个变量同时赋同一值

a = b = c = 1  #从后向前依次赋值
"""
a=1
b=1
c=1
"""

多个变量同时赋不同值

a, b, c = 1, 2, "runoob"
"""
a=1
b=2
c="runoob"
"""

十三、 查询类型

type

内置的 type() 函数可以用来查询变量所指的对象类型

a,b,c = 1,2,"hello"
print(type(a), type(b), type(c))



"""
输出结果
<class 'int'> <class 'int'> <class 'str'>
"""

isinstance

isinstance 来判断数据类型

a,b,c = 1,2,"hello"
print(isinstance(a,int),isinstance(x,int))



"""
输出结果:
True False
"""

区别

type()不认为子类是一种父类类型。
isinstance()认为子类是一种父类类型

class A:pass
class B(A): pass

print(isinstance(A(), A),type(A()) == A ,isinstance(B(), A),type(B()) == A)



"""
输出结果:
True True True False
"""

十四、 运算符

算数运算符

符号意义
+
-
*
\除,得到浮点数
\ \除,向下取整
%取余
**乘方

代码示例:

print(5 + 2)   #5、2为操作数,+为运算符
print(5 - 2)
print(5 * 2)
print(5 / 2)
print(5 // 2)
print(5 % 2)
print(5 ** 2)



"""
输出结果:
7
3
10
2.5
2
1
25
"""

比较运算符

所有比较运算符返回1表示真,返回0表示假,分别与特殊的变量True和False等价

运算符描述实例(a = 10,b = 20)
==等于,比较对象是否相等(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

代码示例:

a = 21
b = 10
print('a =',a)
print('b =',b)

if (a == b):
    print("a == b")
else:
    print("a != b")

if (a != b):
    print("a != b")
else:
    print("a == b")

if (a < b):
    print("a < b")
else:
    print("a >= b")

if (a > b):
    print("a > b")
else:
    print("a <= b")


'''
输出结果:
a = 21
b = 10
a != b
a != b
a >= b
a > b

'''

赋值运算符

运算符描述实例(a=10,b=20)
=简单的赋值运算符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(c的a次幂)
:=海象运算符,在表达式内部为变量赋值,Python3.8 版本新增例:if (n := len(a)) > 10

代码示例:

a = 2
b = 10
c = 5
print('a =',a,' b = ',b,' c = ',c)
a + b
print("a + b的值为:", a + b)
c += a
print("c += a的值为:", c)
c *= a
print("c *= a的值为:", c)
c /= a
print("c /= a的值为:", c)
c //= a
print("c //= a的值为:", c)
c %= a
print("c %= a的值为:", c)
c **= a
print("c **= a的值为:", c)



'''
输出结果:
a = 2  b =  10  c =  5
a + b的值为: 12
c += a的值为: 7
c *= a的值为: 14
c /= a的值为: 7.0
c //= a的值为: 3.0
c %= a的值为: 1.0
c **= a的值为: 1.0
'''

位运算符

按位运算中,把数字看作二进制来进行计算

运算符描述
&按位与运算符:对应位都为1→结果为1
|按位或运算符:对应位有一个为1时→结果位为1
^按位异或运算符:对应位不同→结果为1
~按位取反运算符:对数据的每个二进制位取反,1→0,0→1
<< n左移动运算符:运算数的各二进位全部左移n位,高位丢弃,低位补0
>> n右移动运算符:运算数的各二进位全部右移n位

代码示例:

a = 60  # 60 = 0011 1100
b = 13  # 13 = 0000 1101
c = 0

c = a & b  # 12 = 0000 1100
print("c = a & b值为:", c)

c = a | b  # 61 = 0011 1101
print("c = a | b值为:", c)

c = a ^ b  # 49 = 0011 0001
print("c = a ^ b值为:", c)

c = ~a  # -61 = 1100 0011
print("c = ~a值为:", c)

c = a << 2  # 240 = 1111 0000
print("c = a << 2值为:", c)

c = a >> 2  # 15 = 0000 1111
print("c = a >> 2 值为:", c)



'''
输出结果:
c = a & b值为: 12
c = a | b值为: 61
c = a ^ b值为: 49
c = ~a值为: -61
c = a << 2值为: 240
c = a >> 2 值为: 15
'''


逻辑运算符

运算符逻辑表达式描述(a=10,b=20)
andx and y“与” ,如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值
orx or y“或” , 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值
notnot x“非”, 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

代码示例:

a = 10
b = 20
print('a and b:',a and b)
if (a and b):
    print("变量 a 和 b 都为 true")
else:
    print("变量 a 和 b 有一个不为 true")
print()

print('a or b:',a or b)
if (a or b):
    print("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("变量 a 和 b 都不为 true")
print()

# 修改变量 a 的值
a = 0
print('a and b:',a and b)
if (a and b):
    print("变量 a 和 b 都为 true")
else:
    print(" 变量 a 和 b 有一个不为 true")
print()

print('a or b:',a or b)
if (a or b):
    print("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("变量 a 和 b 都不为 true")
print()

print('not a and b:',not (a and b))
if not (a and b):
    print("变量 a 和 b 都为 false,或其中一个变量为 false")
else:
    print("5变量 a 和 b 都为 true")



'''
输出结果:
a and b: 20
变量 a 和 b 都为 true

a or b: 10
变量 a 和 b 都为 true,或其中一个变量为 true

a and b: 0
 变量 a 和 b 有一个不为 true

a or b: 20
变量 a 和 b 都为 true,或其中一个变量为 true

not a and b: True
变量 a 和 b 都为 false,或其中一个变量为 false
'''

成员运算符

运算符描述实例
in在指定的序列中找到值返回 True,否则返回 Falsex 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in在指定的序列中没有找到值返回 True,否则返回 Falsex 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

代码示例:

a = 10
b = 20
list = [1, 2, 3, 4, 5]
print('list:',list)
print('a =',a,' b =',b)
if (a in list):
    print("变量 a 在给定的列表中 list 中")
else:
    print("变量 a 不在给定的列表中 list 中")

if (b not in list):
    print("变量 b 不在给定的列表中 list 中")
else:
    print("变量 b 在给定的列表中 list 中")

# 修改变量 a 的值
a = 2
print('a =',a)
if (a in list):
    print("变量 a 在给定的列表中 list 中")
else:
    print("变量 a 不在给定的列表中 list 中")


'''
输出结果:
list: [1, 2, 3, 4, 5]
a = 10  b = 20
变量 a 不在给定的列表中 list 中
变量 b 不在给定的列表中 list 中
a = 2
变量 a 在给定的列表中 list 中
'''

身份运算符

用于比较两个对象的存储单元

tips: id() 函数用于获取对象内存地址

运算符描述实例
is判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y),如果引用的是同一个对象则返回 True,否则返回 False
is not判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b),如果引用的不是同一个对象则返回结果 True,否则返回 False

代码示例:

a = 20
b = 20
print('a = ',a,' b =',b)
if (a is b):
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")

if (id(a) == id(b)):		#判断引用变量的值是否相等
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")


b = 30						# 修改变量 b 的值
print('a = ',a,' b =',b)
if (a is b):
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")

if (a is not b):
    print("a 和 b 没有相同的标识")
else:
    print("a 和 b 有相同的标识")



'''
输出结果:
a =  20  b = 20
a 和 b 有相同的标识
a 和 b 有相同的标识
a =  20  b = 30
a 和 b 没有相同的标识
a 和 b 没有相同的标识
'''

tips:
is 用于判断两个变量** 引用对象是否为同一个**
== 用于判断引用变量的值是否相等

代码示例:

a = [1, 2, 3]
b = a          #a,b指向同一个对象
print('a:',a)
print('b:',b)
print('b is a:',b is a )   			  #is判断两个变量引用对象是否为同一个
print('b == a:',b == a)               #==判断引用变量的值是否相等

b = a[:]        #创建一个新的与a完全相同的对象,但是与a并不指向同一对象
print('a:',a)
print('b:',b)
print('b is a:',b is a)      		 #is判断两个变量引用对象是否为同一个
print('b == a:',b == a)    			 #==判断引用变量的值是否相等



'''
输出结果:
a: [1, 2, 3]
b: [1, 2, 3]
b is a: True
b == a: True
a: [1, 2, 3]
b: [1, 2, 3]
b is a: False
b == a: True

'''

tips:

b=a与b=a[:]的区别:
b=a→a,b指向同一个对象
b=a[:]→创建一个新的与a完全相同的对象,但是与a并不指向同一对象
在计算机中,不同的对象即不同的内存地址

运算符优先级

运算符描述
**指数 (最高优先级)
~, + ,-按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
*, / ,%, //乘,除,求余数和向下取整除
+, -加法减法
>>, <<右移,左移运算符
&位 ‘AND’
^ |位运算符
<=, <, >, >= ,比较运算符
==, !=等于运算符
=, %=, /=, //=, -=, +=, *=, **=赋值运算符
is ,is not身份运算符
in ,not in成员运算符
not, and, or逻辑运算符

tips:
逻辑运算符中,and拥有更高运算级

代码示例:

x = True
y = False
z = False

if x or y and z:
    print("yes")
else:
    print("no")



'''
运算结果:
yes
'''
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:43:09  更:2021-07-23 10:44:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 7:09:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码