Python语言概述

一、什么是程序

  1. 程序:计算机执行某些操作或者解决某个问题而编写的一系列有序指令的集合
  2. 人与人之间的交流依靠自然语言来实现,而人与机器的交互则需要借助编程语言作为桥梁。具体来说,人们会将想要机器完成的任务逻辑,转化为编程语言的规范格式并编写成程序;之后程序再通过编译或解释的方式,被转换成机器能够直接识别的二进制指令,最终由硬件执行,以此达成人与机器的有效"沟通"
  3. 关于字节码、机器语言和机器码:
    1. 机器语言不具有跨平台性,而字节码具有跨平台性。一份字节码可以在不同操作系统的计算机上运行,再由对应平台的虚拟机将这份字节码转换成该计算机CPU能执行的机器语言。
    2. 简单来说,Java属于半编译半解释型语言:它会先被一次性编译成字节码文件(.class),这个字节码文件在运行时,由JVM(Java虚拟机)先以解释方式逐行执行字节码,同时对频繁执行的"热点代码"进行即时编译(JIT),将其转换成机器码缓存起来,后续直接执行缓存的机器码。Python(CPython)是解释型语言:它并非在运行时"一次性编译成字节码文件",而是在运行过程中逐块将源码编译成字节码(编译后的字节码通常缓存为.pyc文件,供后续运行复用),再由解释器逐行将字节码转化为机器码执行。由此可见,Java和Python都具备编译特征,核心区别在于:Java的字节码是运行前提前生成的,而Python的字节码主要是运行时动态生成(仅缓存复用)。
    3. C语言是纯编译型语言,它会被编译器直接翻译成对应CPU架构可执行的机器码,生成独立的可执行文件。
    4. 而机器语言和机器码本质上是同一种概念的两种表述:机器码是纯二进制形式的指令串(如01001000),是CPU能直接识别的物理形态;机器语言则是对这些二进制指令的语义描述(比如反汇编后的mov eax, 1),二者指向的是同一个底层指令,只是呈现形式不同。简单来说,像01001000这类二进制机器码,通过反汇编工具解析后,会转换成mov eax, 1这种人类能理解的汇编指令形式(也就是机器语言的语义描述)。
  4. 关于跨平台运行:
    1. 简单来说,Java 之所以能跨平台,是因为它编译后生成的是与平台无关的.class 字节码文件,只需在不同操作系统的计算机上安装对应版本的 JVM(Java 虚拟机),直接运行这份已编译好的字节码文件即可,JVM 会自动将字节码转换成当前平台的机器码执行。
    2. Python 能跨平台,是因为它无需提前编译,在不同平台上运行时,由对应平台的 Python 解释器直接读取源代码,先动态将源代码编译成字节码(可缓存为.pyc 文件),再逐行将字节码转换为当前平台的机器码执行。
    3. C 语言不具备跨平台性,是因为它编译后会直接生成与目标 CPU 架构 / 操作系统绑定的机器码可执行文件(如 Windows 的.exe、Linux 的.out),这份可执行文件只能在对应的架构 / 系统上运行,无法直接在其他平台执行。
  5. 关于编译、解释和即时编译(JIT):
    1. 编译就是把用编程语言编写的程序文件,一次性全部翻译成CPU可执行的二进制机器码,翻译后的结果会生成独立的可执行文件(如Windows的.exe文件);后续想要执行这段代码,直接运行这个已经编译好的文件即可,无需再次翻译。
    2. 而解释则是对编程语言编写的程序文件,不提前整体翻译,而是在程序运行时由解释器逐行读取、逐行解析并执行,全程不会生成独立的二进制文件。
    3. 而即时编译(JIT)则是在解释执行的基础上做的优化:当解释器发现某段代码被反复执行(即"热点代码")时,会将这段代码一次性编译成二进制机器码并缓存起来(并非生成单独文件,而是存入内存),后续再执行这段代码时,直接调用缓存中的二进制码,从而避免对相同代码的重复解析和编译,兼顾解释型语言的灵活性和编译型语言的执行效率。

二、安装Python开发环境

(1)Python开发工具介绍

  1. IDLE:Python自带的开发工具
  2. PyCharm(推荐):JetBrains打造的Python IDE
  3. Sublime Text:跨平台的、轻量级的代码编辑器
  4. Eric:一个开源python代码编辑器和集成开发环境,免费使用

(2)Python语言特点

  1. 简单易学:Python是一种代表简单主义思想的语言
  2. 面向对象:Python既支持面向过程编程,也支持面向对象编程
  3. 开源:Python是开放源码
  4. 可移植性:由于Python开源本质,它已经被移植在许多平台上。如果避免使用依赖于系统的特性,那么Python程序无需修改就能在多个平台上运行,比如Linux、Windows等
  5. 解释性:Python写的程序不需要编成二进制代码,可以直接从源代码运行程序。Python解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行
  6. 高级语言:使用Python编写程序,无需考虑如何管理程序使用内存一类的底层细节
  7. 可扩展性:如果需要一段关键代码运行的更快,或者希望某些算法不公开,可以把部分程序用C语言编写,然后在Python程序中使用它们
  8. 丰富的库:Python标准库很庞大,功能齐全,可以帮助处理各种工作,并且Python还支持很多第三方库的调用
  9. 规范的代码:Python采用强制缩进的方式,使得代码具有很好的可读性

(3)开发环境安装

2.3.1官方网站

Python官网:https://www.python.org/

2.3.2安装Python开发环境步骤

  1. 点击Downloads会出现(鼠标下滑可以看到各种版本):
  2. 根据自己电脑的操作系统选择要安装的版本:
  3. 根据自己的情况来指定安装的目录(D:\program\python3.14):
  4. 右键,以管理员身份运行:
  5. 勾选下面两个,然后点击Customize installation:
  6. 点击Next:
  7. 改成自己刚刚在D盘设置的路径,然后点击install:
  8. 检验是否安装成功(同时按下win+R键,输入cmd,然后输入python,如果能够显示python的版本,就说明安装成功了):
  9. 当我们在cmd输入python以后,系统会默认先在当前目录下执行python.exe,如果没有,就会按照path环境变量配置的路径依次去找,如果找到了就执行,如果找不到就会报告错误。所以上面必须勾选

(4)使用记事本编写程序

  1. 创建一个记事本,然后修改扩展名为.py
  2. 右键,用记事本方式打开,然后编写一个简易的程序:
  3. 进入所在目录的快捷方式,然后回车:
  4. 运行的两种方式(还有一种方式,就是python.exe hello.py):

三、Python程序开发注意事项

  1. Python源文件通常以.py为扩展名(规范),但这不是必须的
  2. Python程序默认是顺序执行的
  3. Python区分大小写
  4. Python程序由一条条语句构成,每条语句后不需要以分号结尾,但是如果带上分号,也不会报错,建议不带分号(规范)

四、安装PyCharm

  1. 官网地址:JetBrains: Essential tools for software developers and teams

  2. 找到PyCharm:

  3. 点击Download,选择相应的版本:

  4. 修改安装目录(这里我安装到D:\program):

  5. 勾选创建桌面快捷方式:

  6. 直接点击安装:

五、PyCharm的基本使用

(1)创建项目步骤

  1. 点击新建项目,设置好以后点击右下角的创建(第三张图中这种创建方式会自动生成虚拟环境,如果不想生成虚拟环境,就选择自定义环境):
  2. 编写一个简易的程序并运行:

(2)Pycharm的使用技巧和经验

5.2.1字体设置

  1. 设置菜单、项目导航等字体:
  2. 设置代码编辑区字体:

5.2.2颜色主题设置

5.2.3模板设置

5.2.4常用快捷键

  1. 删除当前行,shift+delete
  2. 复制当前行,Ctrl+D
  3. 添加注释和取消注释,Ctrl+/【第一次是添加注释,第二次是取消注释】
  4. 快速格式化代码,Ctrl+alt+L
  5. 查看一个类的层级关系,Ctrl+H
  6. 查找:Ctrl+F,替换:Ctrl+R

六、Python转义字符

  1. \t :一个制表位,实现对齐的功能
  2. \n换行符
  3. \\一个\ (也就是说,第一个\代表这是转义字符,是转义字符的标志,第二个\才是要输出的内容,而转义字符只能由两个字符构成,所以要输出两个\的话,就要再写一遍)
  4. \"一个"(因为如果不加\,"就会和最前面的"被当作一个整体)
  5. \'一个' (在python里面,单引号也可以不用转义)
  6. \r一个回车 (就是把回车前面的内容覆盖掉)

七、注释

(1)介绍

  1. 用于注解说明程序的文字就是注释
  2. #后的内容,是不会被执行的
  3. 注释提高了代码的可读性
  4. 程序员可以先将自己的思想通过注释先整理出来,再用代码去实现

(2)单行注释

  1. 举例:

    python 复制代码
    # 这是一个注释 # print("Hello,World!")
  2. 应用实例:

    python 复制代码
    print("hello jack")
    print("hello tom")
    # print("hello mary")
    
    # 注意:
    # 不管光标定位在一行的哪一个位置,
    # 如果使用快捷键ctrl+/进行注释的话,
    # 那么#永远是加在最前面的

(3)多行注释

  1. 格式:一对三个单引号'''注释文字'''或者一对三个双引号(更常用)"""注释文字"""

  2. 应用实例(这两种注释的方式是等价的):

    python 复制代码
    # print("hello smith")
    # print("hello john")
    # print("hello milan")
    
    """
    print("hello smith")
    print("hello john")
    print("hello milan")
    """

(4)文件编码声明注释

  1. 格式:在文件开头加上编码声明,用以指定文件的编码格式(默认是UTF-8

    python 复制代码
    # coding:编码
  2. 应用实例:

    python 复制代码
    # coding:gbk
    
    print("hello smith")
    print("hello john")
    print("hello milan")

(5)使用细节

  1. 对于单行和多行注释,被注释的文字,不会被解释器执行
  2. 多行注释里面不要有多行注释嵌套,容易混淆(解释器只会把第一对"""或者'''里面的内容当作多行注释

八、代码规范和文档

(1)正确的注释和注释风格

  1. 使用多行注释来注释多行说明
  2. 如果注释函数或者其中的某个步骤,使用单行注释

(2)正确的缩进和空白

  1. 使用一次tab操作,实现缩进,默认整体向右 边移动,使用shift+tab整体向左
  2. = 两边习惯性加一个空格比较规整
  3. 变量之间使用逗号间隔比较清晰

(3)文档

中文文档地址:https://docs.python.org/zh-cn/3.14/

相关推荐
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于Python的茶叶销售数据可视化分析系统设计实现为例,包含答辩的问题和答案
开发语言·python·信息可视化
人道领域2 小时前
SSM从入门到入土(Spring Bean实例化与依赖注入全解析)
java·开发语言·spring boot·后端
newbiai2 小时前
小白用的AI视频创作软件哪个功能全?
人工智能·python
B站计算机毕业设计超人2 小时前
计算机毕业设计hadoop+spark+hive共享单车预测系统 共享单车数据可视化分析 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·python·深度学习·spark·毕业设计·课程设计
love530love2 小时前
【实战经验】解决ComfyUI加载报错:PytorchStreamReader failed reading zip archive: failed finding central directory
人工智能·windows·python·ai作画·aigc·comfyui·攻关
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+Spark+Hadoop+Hive微博舆情分析 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·python·spark·cnn·课程设计
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 基于Java web的宠物领养系统的设计与实现为例,包含答辩的问题和答案
java·开发语言·宠物
m0_706653232 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
小小码农Come on2 小时前
QT常用控件:QListWidget
开发语言·qt