当前位置: 首页 > 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…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...