python学习路程

发布时间:2024年01月20日
前言前的前言:奇怪,为什么会有人看(゚Д゚;),推送机制诱导的吗
前言:现在(2024.1.17)以B站课程杨淑娟老师的课程学习,菜鸟一枚,万望指导

一、Python基本概念与应用场景

1.Python基本概念:①Python是一门高级语言,经编译器编译之后变为机器语言才可执行 (Python是脚本语言); ②Python是一门解释型语言,需要将源代码逐条转换成目标代码,同时逐条运行目标代码,执行解释的计算机程序也称为解释器;③Python特点:明确简单而优雅,库丰富而多样。

2.Python应用领域:①web开发;②数据分析与科学计算;③人工智能与机器学习(常用TensorFlow,Keras,PyTorch);④自动化测试与运维;⑤网络爬虫(request);⑥游戏开发!

目前学习工具与平台:pycharm3.8

二、Python基本编程思维

基本的程序编写流程:IPO程序编写方法

三、Python基础语法

1.input函数:变量名 = input('提示文字')? ? ? 注意事项:input获取的数据返回为字符串类型

2.注释:单行注释加前缀#,多行注释使用''' '''

3.代码缩进:每行语句开始前的空白区域,因为Python语法较为简洁,没有c语言或者JS一样的多个嵌套的括号,因此嵌套关系常看缩进,需要严格的缩进。(pycharm的提示选项内有格式化选项)

4.print函数:

print(内容) 

其完整版其实是

print(内容,...,sep='内容间分隔方式',end='尾部内容',file=写入位置) 注意事项:字符要加引号,变量等不用

5.文件打开与写入:

fp = open('text.txt', 'w')
#其中的w指的是插入形式(write)
print(chr(28145), file=fp)

6.关键字(保留字):在Python中被赋予特定定义的一些单词,不可作为变量名与对象名等使用,以下为基本的保留字

and

as

assert

break

class

continue

def

del

elif

else

except

finally

for

from

False

global

if

import

in

is

lambda

nonlocal

not

None

or

pass

raise

return

try

True

while

with

yield

await

async

7.Python标识符命名规则与规范:

①可用中英文,下划线,数字;②第一个不能是数字;③不用关键字;④严格区分大小写;⑤下划线开头的具有特殊意义;? ? ? ? ? ?①全部小写的短小单词,以下划线分隔;②包名尽量短小,以点分割;③模块内部类:下划线+Pascal命名法,如MyClass内部的_InnerMyClass;④函数,类的属性和方法的命名,一般全用小写字母,多个单词之间以下划线分隔⑤常量一般全用大写,下划线分隔;⑥以单下划线开头的模块变量与函数受保护,在使用“from xxx import *”语句从模块中导入时,这些模块变量或函数不能被导入;⑦双下划线开头慎用,是类私有的;⑧头尾双下划线是Python专用标识,勿使用此型

8.变量与常量

变量的语法结构: 除了一般的数据结构之外还可赋值为一个方法返回的参数

变量名 = value

常量的语法结构:与变量无异,但是命名规则要注意,而且一般直接赋值

9.数值类型

①整数类型:没有小数部分的数值,包含正整数、负整数和0

注:Python中不同进制之前需要引导符号以用于被辨识。十进制无前缀,二进制以0b或0B作为前缀,八进制以0o或者0O作为前缀,十六进制以0x或者0X作为前缀

②浮点数类型:表示带有小数点的数值,计算时注意浮点误差

复数:Python中的复数与数学中形式一致,实数部分以.real表示,虚数部分以.imag表示

# 实部与虚部
x = 123 + 456j
print(x)
print(x.real)
print(x.imag)

10.字符串类型与操作

①普通字符串,可以表示计算机所能识别的一切字符

②界定符:单引号,双引号,三引号

③转义字符:\+字母或符号,具体查表

④原字符:字符串界定符前加r或者R,使转义字符失效变为普通字符

⑤索引:有序的字符序列(字符串)中,某个字符的检索号称为索引(正序从0开始,逆序从-1开始)

⑥切片:对字符串中某个子串或者区间的检索,基本语法结构如下(左闭右开):

#字符串切片
s = 'hello world'
print(s[0])
print(s[-2])#反向
print('hello world'[2:5:3])#2到5,跨步为3
print(s[:5])#从零开始到第五个

⑦字符串操作:拼接x+y? ?复制n次x*n? 检索x是否为s的子串,返回布尔值x in s

11.布尔类型:True表示1,False表示0(反之,在进行判断时除了0以外其他都视为True)false情况:False或者None,各种数值中的0,空序列,自定义对象的实例,该对象的__bool__()方法返回False或__len__()方法返回0?

12.数据类型之间的转换:

①隐式转换:在函数运算以及程序运行过程中内置函数导致的转换(可能类似于JS?有待学习)

②显式转换:使用转换函数转换数据类型

函数

描述说明

int(x)

x转换为整数类型

float(x)

x转换为浮点数类型

str(x)

x转成字符串

chr(x)

将整数 x转换为一个字符

ord(x)

将一个字符x转换为其对应的整数值

hex(x)

将一个整数 x转换为一个十六进制字符串

oct(x)

将一个整数 x转换为一个八进制字符串

bin(x)

将一个整数 x转换为一个二进制字符串

13.eval函数:python中的内置函数,去掉语句最外侧的引号后执行该语句(注意,该语法格式为 :变量名=eval(字符串)与其他函数共用时注意格式与嵌套关系)

num = eval(input('输入算式'))
print('千位为', num // 1000)
print('百位为', num % 1000 // 100)
print('十位为', num % 100 // 10)
print('个位为', num % 10 // 1)

14.算术运算符:处理四则运算,优先级为:** 其次?*,/,%,// 其次 -,+ ,具体如下:

运算符

描述说明

示例

结果

+

加法

1+1

2

-

减法

1-1

0

*

乘法

2*3

6

/

除法

10/2

5.0

//

整除

10//3

3

%

取余

10%3

1

**

幂运算

2**4

16

15.赋值运算符 :故名思议,具体如下:

运算符

描述说明

示例

展开形式

=

简单的赋值运算

x=y

x=y

+=

加赋值

x+=y

x=x+y

-=

减赋值

x-=y

x=x-y

*=

乘赋值

? ? ? ? ? ? ? ? ? ? ?x*=y

x=x*y

/=

除赋值

x/=y

x=x/y

%=

取余赋值

x%=y

x=x%y

**=

幂赋值

x**=y

x=x**y

//=

整除赋值

x//=y

x=x//y

16.比较运算符,依旧看图:?

运算符

描述说明

示例

展开形式

>

大于

98>90

True

<

小于

98<90

False

==

等于

98==90

False

!=

不等于

98!=90

True

>=

大于或等于

98>=98

True

<=

小于或等于

98<=98

True

17. 逻辑运算符,与或非三巨头,具体如下:

运算符

描述说明

用法

结合方向

and

逻辑与

表达式1 and 表达式2

从左到右

or

逻辑或

表达式1 or 表达式2

从左到右

not

逻辑非

not? 表达式

从右到左

18. 位运算符,将数字看做二进制进行计算与操作。首先以“位与”举例:当两数对应位置都为一时结果为一,否则为零,其他运算符也都如此运算一般,是“按位”进行运算。

?①位与(&):对两个操作数的每个对应位执行逻辑与操作,只有当两个位都为 1 时,结果才为 1,否则为 0。

②位或(|):对两个操作数的每个对应位执行逻辑或操作,只有当两个位都为 0 时,结果才为 0,否则为 1。

③位异或(^):对两个操作数的每个对应位执行逻辑异或操作,当两个位不同时,结果为 1,否则为 0。

④位取反(~):对操作数的每个位执行逻辑非操作,将每个位取反。

⑤左移(<<):将操作数的二进制表示向左移动指定的位数,并在右侧用零填充。

⑥右移(>>):将操作数的二进制表示向右移动指定的位数,并在左侧用符号位填充(对于正数是 0,对于负数是 1 注意:填充时空出的位置全部都是填符号位)。

注意:在使用位运算符时,操作数会被转换为整数进行计算。

下为举例,内部过程自己写一手二进制数即可:

#位与
a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011
result = a & b
print(result)  # 输出 1,即二进制的 0001

#位或
a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011
result = a | b
print(result)  # 输出 7,即二进制的 0111

#位异或
a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011
result = a ^ b
print(result)  # 输出 6,即二进制的 0110

#位取反
a = 5  # 二进制表示为 0101
result = ~a
print(result)  # 输出 -6,即二进制的 -0110

#左移
a = 5  # 二进制表示为 0101
result = a << 2
print(result)  # 输出 20,即二进制的 10100

#右移
a = 5  # 二进制表示为 0101
result = a >> 2
print(result)  # 输出 1,即二进制的 0001

14-18运算符优先级:?

①**? ?②~、+、-? ?③*、/、%、//? ?④+、-? ?⑤<<、>>? ?⑥&? ?⑦^? ?⑧|? ?⑨<<=>>=!===? ?若有赋值运算符则优先级最低(最后运行)

19.

文章来源:https://blog.csdn.net/2301_81533581/article/details/135661896
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。