Python编程基础
Python是一种简单易学的编程语言,广泛应用于Web开发、数据分析、人工智能等领域。无论您是初学者还是有一定编程经验的人士,都可以从Python的基础知识开始建立自己的编程技能。
目录
- 理论
- Python语言的发展
- 程序设计语言的分类
- 静态语言与脚本语言的区别
- 代码编写
- IPO程序编写方法
- 输出函数print
- 输入函数input
- Python中的注释与缩进
理论
Python语言的发展
Python语言的发明人—吉多.范罗苏姆(荷兰人)。
Python语言具有丰富和强大的库,能够把使用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python语言又被成为胶水语言,因为它能够把使用其他语言制作各种模块轻松的联合在一起。
- Python语言是在1989年诞生的,但是最早的可用版本诞生于1991年,在之后的近20年间又经历了Python2到Python3的演化过程。
- 2000年10月,Python2.0版本发布,开启了Python广泛应用的新时代。
- 2010年,Python2.x系统发布了最后一个版本,主版本号为2.7,用于终结2.x系列版本的的发展,并且不再进行重大改进。
- 2008年12月,Python3.0版本发布,这个版本的解释器内部完全采用面向对象方式实现,在语法层面做了很多重大改进。
- 2016年,所有Python重要的标准库和第三方库都已经在Python3.x版本下进行演进和发展。Python语言版本升级过程宣告结束。

- Python的应用领域
- Web开发:Python语言在Web开发上有Django、Flask、Tornado等众多框架的支持。
- 数据分析与科学计算:在数据分析和科学计算方面,Python有着众多的第三方库的支持,比如Numpy、Pandas、Matplotlib等。
- 人工智能和机器学习:Python中的第三方库Tensorflow、Keras、PyTorch等可以快速的实现模型构建、训练和部署。
- 自动化测试和运维:第三方库Selenium在自动化测试和运维领域发挥着举足轻重的作用,自动化测试已经成为测试工程师必备的技能之一了。
- 网络爬虫:随着大数据和数据挖掘的兴起,爬虫这项技术在互联网中发挥了非常重要的作用,它以速度快的特点可以在互联网上爬取大量的数据。
- 游戏开发:Python在游戏领域也有很多的应用,例如《文明6》就是使用Python语言编写的。
- Python的开发工具
- PyCharm

程序设计语言的分类
- 程序设计语言
什么程序设计语言呢?它是指计算机能够识别和理解用户操作意图的一种交互体系,说白了就是用户与计算机之间能够达成沟通的语言,它是按照特定规则组织的计算机指令,而这些指令可以让计算机能够自动执行各种运算操作。
- 机器语言:是一种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言。
- 汇编语言:使用方便助记符与机器语言中的指令一一对应。
- 高级语言:是接近自然语言的一种计算机程序设计语言,Python、Java都是高级语言。
静态语言与脚本语言的区别
- 编译型
编译型是指将源代码转换成目标代码的过程,通常源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器。

- 解释型
解释型是将源代码逐条转换成目标代码的过程,执行解释的计算机程序称为解释器(Interpreter)。解释型的可移植性会好一点,缺点就是需要始终保存好源代码,源代码丢失了就无法运行程序了。

采用编译型方式执行的语言就成为静态语言,Java就是静态语言,采用解释方式执行的语言就是脚本语言,Python、Javascript、PHP都是脚本语言。
代码编写
IPO程序编写方法
Input是输入、Process是处理、Output是输出

输出函数print
语法结构
print(输出内容)
在Python当中,可以使用内置的print函数进行程序的输出操作,也就说它是IPO操作当中的O,output;输出的内容可以是数字,可以是字符串,如果是字符串的话,需要使用引号引起来。
选择文件夹,新建一个Python文件


先定义几个变量,再通过print函数进行演示输出

a=100 # 定义变量a,值为100
b=50 # 定义变量b,值为50
print(886)
print(a) # 实际上输出的变量的值
print(a+b) # 输出a和b的运算结果
print('摔跤猫子')
print("摔跤猫子")
print('''摔跤猫子''')
print("""摔跤猫子""")
右键运行可以看到在控制台对变量以及运算结果都进行了输出,当输出结果是字符串时使用单引号、双引号、三单引号、三双引号都是可以的。

如果想一次输出多个内容且不换行该如何实现呢?可以使用英文的半角逗号将输出的内容进行分隔。

print(a,b,'摔跤猫子')
使用print函数输出ASCII码对应的字符

# 示例3 输出ASCII码对应的字符
print('b') # 直接输出了b
print(chr(98)) # 也输出了b 使用chr将98转换成ASCII表中的字符
使用print函数输出中文Unicode码

# 使用print函数输出中文Unicode码
print(ord('摔'))
print(ord('跤'))
print(ord('猫'))
print(ord('子'))
也可以使用chr函数再转回去,编码与字符之间是一对一的关系。

# 转回去
print(chr(25684))
print(chr(36324))
print(chr(29483))
print(chr(23376))
使用print函数将内容输出到文件
fp=open('note.txt','w') # 打开文件,这里w指的是write,写的意思
print('摔跤猫子',file=fp) # 将摔跤猫子这几个字写入到note.txt文件中
fp.close() # 关闭文件
运行函数后会在该目录下生成一个文件

以GBK重新加载即可显示


print()函数完整格式:
print(value,...,sep='',end='\n',file=None)
不换行一次输出多个数据的时候,中间的空格是如何产生的呢?
它就是由print函数当中的sep所产生的叫分隔符

每次输出完下方都有空行,这是因为print函数中\n的决定。

如果指定end参数的数据,则不会输出空行
print('摔跤',end='-->')

多条print函数输出,结果一行显示

print('摔跤',end='-->')
print('猫子')
在进行输出的时候,还可以使用加号连接两个字符串,在连接的过程中,只能是字符串与字符串连,否则是会报错的


输入函数input


name=input('请输入您的昵称:')
print('您输入的昵称为:'+name)
使用int将数据转换,下图可以看到当转换成功后是无法用加号对它们进行连接的,所以使用逗号在同一行进行输出即可。


Python中的注释与缩进
程序员在代码中对代码功能解释说明的标注性文字,可以提高代码的可读性,注释的内容奖杯Python解释器忽略,不被计算机执行,注释又包括单号注释、多行注释和中文声明注释。

# coding=utf-8
# 这是中文声明注释,它一定要写在第一行# 这是单行注释'''
这是多行注释
'''"""
这也是多行注释
"""
相关文章:
Python编程基础
Python是一种简单易学的编程语言,广泛应用于Web开发、数据分析、人工智能等领域。无论您是初学者还是有一定编程经验的人士,都可以从Python的基础知识开始建立自己的编程技能。 目录 理论Python语言的发展程序设计语言的分类静态语言与脚本语言的区别 代…...
python类和对象
1.使用对象组织数据 class Student:nameNone #记录名字 stu1Student() #创建对象 stu1.name"abc" #为对象属性赋值2.类的定义和使用 2.1成员方法的定义语法 传参的时候self是透明的,不用管 class Stu:nameNonedef sayHi(self):print(f"你好&#x…...
ubuntu操作系统中docker下Hadoop分布式前置环境配置实验
版本: centos7 hadoop 3.1.3 java JDK:1.8 集群规划: masterslave1slave2HDFS NameNode DataNode DataNode SecondryNameNode DataNode YARNNodeManager ResourceManage NodeManager NodeManager 1.docker容器: 把普通用户加入到docker组&am…...
【Linux学习笔记】protobuf 基本数据编码
https://zhuanlan.zhihu.com/p/557457644https://zhuanlan.zhihu.com/p/557457644 [新文导读] 从Base64到Protobuf,详解Protobuf的数据编码原理本篇将从Base64再到Base128编码,带你一起从底层来理解Protobuf的数据编码原理。本文结构总体与 Protobuf 官…...
OpenCV快速入门:图像分析——图像分割和图像修复
文章目录 前言一、图像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法实现步骤1.1.3 代码实现 1.2 分水岭法1.2.1 分水岭法原理1.2.2 分水岭法实现步骤1.2.3 代码实现 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法实现步骤1.3.3 代码实现 1.4 Mean-Shift法1.4.1…...
BART - 磁共振重建库 linux系统安装 MATLAB 使用
本文主要介绍如何在linux系统中安装伯克利大学的磁共振重建库BART 和在matlab中的配置使用。 安装必要的库 (linux 命令行) $ sudo apt-get install make gcc libfftw3-dev liblapacke-dev libpng-dev libopenblas-dev 下载编译BART 文件 (官网链接:BART Toolbox) 命令行下…...
在linux下在官网的nginxtar包 的安装方式并配置全局变量
在Linux系统中,Nginx是一种流行的Web服务器和反向代理服务器,它可以提供高性能的静态内容服务和动态内容服务。本文将详细介绍如何在Linux系统中安装Nginx,并配置全局变量。 安装Nginx 以下是在Linux系统中安装Nginx的步骤: 1.…...
Java中数据库查询方法MapListProcessor的应用
1.供应链系统的销售合同捉过了两个金额一样的,同一个项目 2.合同号也一样,oaid不一样,但是从OA前台只有一个 3.一个是建云的一个是泛微的 4.做下过滤,如果同一个合同编号,在泛微里面有的,建云的就不获取了 …...
一键换肤功能
使用css3的css变量来实现 示例: 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name&qu…...
Oracle SQL 注入上的 Django GIS 函数和聚合漏洞 (CVE-2020-9402)
漏洞描述 Django 于2020年3 月4日发布了一个安全更新,修复了 GIS 函数和聚合中的 SQL 注入漏洞。 参考链接: Django security releases issued: 3.0.4, 2.2.11, and 1.11.29 | Weblog | Django 该漏洞要求开发者使用 JSONField/HStoreField;此外&…...
MYSQL 排序和分组怎么做?
文章目录 前言MySQL 排序语法在命令提示符中使用 ORDER BY 子句在PHP脚本中使用 ORDER BY 子句 MySQL 分组GROUP BY 语法实例演示使用 WITH ROLLUP 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博…...
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小
好记心不如烂笔头 使用ESP-IDF开发ESP32的时候,要是同时用到蓝牙和WIFI的话,很多时候会提示Flash不够, 我是照着这样解决的,存档记录 来源 : zaixingxing2539 大佬的 ESP32 ESP-IDF5.0 在VSCODE中自定义分区表 用Visual Studio Code自定义分区表 # ESP-IDF Partition Table…...
【Amazon】通过代理连接的方式导入 AWS EKS集群至KubeSphere主容器平台
文章目录 一、设置主集群方式一:使用 Web 控制台方式二:使用 Kubectl命令 二、在主集群中设置代理服务地址方式一:使用 Web 控制台方式二:使用 Kubectl命令 三、登录控制台验证四、准备成员集群方式一:使用 Web 控制台…...
网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)
网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记) SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy(异步网络爬虫框架)Sc…...
一个简易计算器实现(c语言)
该程序使用c语言实现了一个简易的计算器,该计算器具有以下功能: 1、设计功能选择界面,实现菜单选择、数据输入和输出的功能; 2、至少自定义五个子函数分别完成加、减、乘、除以及求模运算功能; 3、考虑代码的健壮性和…...
JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)
目录 1.垃圾回收算法发展简介2.垃圾回收算法的评价标准1.吞吐量2.最大暂停时间3.堆使用效率 3.垃圾回收算法01-标记清除算法垃圾回收算法-标记清除算法的优缺点 4.垃圾回收算法02-复制算法垃圾回收算法-复制算法的优缺点 5.垃圾回收算法03-标记整理算法标记整理算法的优缺点 6.…...
【虚拟机】在VM中安装 CentOS 7
1.2.创建虚拟机 Centos7是比较常用的一个Linux发行版本,在国内的使用比例还是比较高的。 大家首先要下载一个Centos7的iso文件,我在资料中给大家准备了一个mini的版本,体积不到1G,推荐大家使用: 我们在VMware《主页》…...
Qt 信号与槽简介
Qt是一个跨平台的C应用程序开发框架,它提供了丰富的功能和工具来帮助开发者构建高质量、高性能的GUI应用程序。在Qt中,信号与槽(Signal and Slot)机制是一种用于处理事件的重要特性。 信号(Signal)…...
ruoyi-plus-vue docker 部署
本文以 ruoyi-vue-plus 5.x docker 部署为基础 安装虚拟机 部署文档 安装docker 安装docker 安装docker-compose 配置idea环境 上传 /doicker 文件夹 到服务器;赋值 777权限 chmod -R 777 /docker idea构建 jar 包 利用 idea 构建镜像; 创建基础服务 docker…...
springboot使用redis缓存乱码(key或者 value 乱码)一招解决
如果查看redis中的值是这样 创建一个配置类就可以解决 package com.deka.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; i…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
