当前位置: 首页 > news >正文

Python编程基础

Python是一种简单易学的编程语言,广泛应用于Web开发、数据分析、人工智能等领域。无论您是初学者还是有一定编程经验的人士,都可以从Python的基础知识开始建立自己的编程技能。

目录

  • 理论
    • Python语言的发展
    • 程序设计语言的分类
    • 静态语言与脚本语言的区别
  • 代码编写
    • IPO程序编写方法
    • 输出函数print
    • 输入函数input
    • Python中的注释与缩进

理论

Python语言的发展

Python语言的发明人—吉多.范罗苏姆(荷兰人)。

Python语言具有丰富和强大的库,能够把使用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

Python语言又被成为胶水语言,因为它能够把使用其他语言制作各种模块轻松的联合在一起。

  1. Python语言是在1989年诞生的,但是最早的可用版本诞生于1991年,在之后的近20年间又经历了Python2到Python3的演化过程。
  2. 2000年10月,Python2.0版本发布,开启了Python广泛应用的新时代。
  3. 2010年,Python2.x系统发布了最后一个版本,主版本号为2.7,用于终结2.x系列版本的的发展,并且不再进行重大改进。
  4. 2008年12月,Python3.0版本发布,这个版本的解释器内部完全采用面向对象方式实现,在语法层面做了很多重大改进。
  5. 2016年,所有Python重要的标准库和第三方库都已经在Python3.x版本下进行演进和发展。Python语言版本升级过程宣告结束。

在这里插入图片描述

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

在这里插入图片描述

程序设计语言的分类

  • 程序设计语言

什么程序设计语言呢?它是指计算机能够识别和理解用户操作意图的一种交互体系,说白了就是用户与计算机之间能够达成沟通的语言,它是按照特定规则组织的计算机指令,而这些指令可以让计算机能够自动执行各种运算操作。

  1. 机器语言:是一种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言。
  2. 汇编语言:使用方便助记符与机器语言中的指令一一对应。
  3. 高级语言:是接近自然语言的一种计算机程序设计语言,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变量来实现 示例&#xff1a; 代码&#xff1a; <!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日发布了一个安全更新&#xff0c;修复了 GIS 函数和聚合中的 SQL 注入漏洞。 参考链接&#xff1a; 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欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Mysql &#x1f431;‍&#x1f453;博…...

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主容器平台

文章目录 一、设置主集群方式一&#xff1a;使用 Web 控制台方式二&#xff1a;使用 Kubectl命令 二、在主集群中设置代理服务地址方式一&#xff1a;使用 Web 控制台方式二&#xff1a;使用 Kubectl命令 三、登录控制台验证四、准备成员集群方式一&#xff1a;使用 Web 控制台…...

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)

网络爬虫&#xff08;Python&#xff1a;Selenium、Scrapy框架&#xff1b;爬虫与反爬虫笔记&#xff09; SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy&#xff08;异步网络爬虫框架&#xff09;Sc…...

一个简易计算器实现(c语言)

该程序使用c语言实现了一个简易的计算器&#xff0c;该计算器具有以下功能&#xff1a; 1、设计功能选择界面&#xff0c;实现菜单选择、数据输入和输出的功能&#xff1b; 2、至少自定义五个子函数分别完成加、减、乘、除以及求模运算功能&#xff1b; 3、考虑代码的健壮性和…...

JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)

目录 1.垃圾回收算法发展简介2.垃圾回收算法的评价标准1.吞吐量2.最大暂停时间3.堆使用效率 3.垃圾回收算法01-标记清除算法垃圾回收算法-标记清除算法的优缺点 4.垃圾回收算法02-复制算法垃圾回收算法-复制算法的优缺点 5.垃圾回收算法03-标记整理算法标记整理算法的优缺点 6.…...

【虚拟机】在VM中安装 CentOS 7

1.2.创建虚拟机 Centos7是比较常用的一个Linux发行版本&#xff0c;在国内的使用比例还是比较高的。 大家首先要下载一个Centos7的iso文件&#xff0c;我在资料中给大家准备了一个mini的版本&#xff0c;体积不到1G&#xff0c;推荐大家使用&#xff1a; 我们在VMware《主页》…...

Qt 信号与槽简介

Qt是一个跨平台的C应用程序开发框架&#xff0c;它提供了丰富的功能和工具来帮助开发者构建高质量、高性能的GUI应用程序。在Qt中&#xff0c;信号与槽&#xff08;Signal and Slot&#xff09;机制是一种用于处理事件的重要特性。 信号&#xff08;Signal&#xff09;&#xf…...

ruoyi-plus-vue docker 部署

本文以 ruoyi-vue-plus 5.x docker 部署为基础 安装虚拟机 部署文档 安装docker 安装docker 安装docker-compose 配置idea环境 上传 /doicker 文件夹 到服务器&#xff1b;赋值 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大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

【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 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...