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

Debian/Ubuntu 无头模式配置 Chrome 与 Selenium 自动化测试全攻略

1. 为什么需要无头模式下的Chrome自动化测试 在服务器端自动化测试的场景中&#xff0c;无头模式&#xff08;Headless Mode&#xff09;已经成为标配。想象一下&#xff0c;你正在搭建一个持续集成&#xff08;CI&#xff09;环境&#xff0c;需要在每次代码提交后自动运行测试…...

Cursor Pro免费激活终极指南:三步实现AI编程助手无限使用

Cursor Pro免费激活终极指南&#xff1a;三步实现AI编程助手无限使用 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your …...

拖拉拽驱动高效开发:活字格低代码平台技术解析与实践

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

突破VMware macOS限制:Auto-Unlocker的完整解决方案

突破VMware macOS限制&#xff1a;Auto-Unlocker的完整解决方案 【免费下载链接】auto-unlocker Unlocker for VMWare macOS 项目地址: https://gitcode.com/gh_mirrors/au/auto-unlocker 当你准备在VMware中创建macOS虚拟机时&#xff0c;却发现系统选择列表中根本没有…...

TensorFlow 2.x与Keras完美融合:构建深度学习模型的终极教程

TensorFlow 2.x与Keras完美融合&#xff1a;构建深度学习模型的终极教程 【免费下载链接】TensorFlow Project containig related material for my TensorFlow articles 项目地址: https://gitcode.com/gh_mirrors/ten/TensorFlow 想要快速掌握TensorFlow 2.x与Keras的完…...

如何实现AI到PSD的无损转换?告别矢量信息丢失的终极方案

如何实现AI到PSD的无损转换&#xff1f;告别矢量信息丢失的终极方案 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 你是否曾经因为Adobe Ill…...

终极TwitchAdSolutions架构解析:从声明选项到智能流信息管理

终极TwitchAdSolutions架构解析&#xff1a;从声明选项到智能流信息管理 【免费下载链接】TwitchAdSolutions 项目地址: https://gitcode.com/gh_mirrors/tw/TwitchAdSolutions TwitchAdSolutions是一款强大的广告拦截工具&#xff0c;通过声明选项配置、Worker拦截和智…...

XPay项目结构深度解析:Maven多模块架构与支付系统最佳实践

XPay项目结构深度解析&#xff1a;Maven多模块架构与支付系统最佳实践 【免费下载链接】xpay XPay个人免签收款支付系统 完全免费 资金直接到达本人账号 支持 支付宝 微信 QQ 云闪付 无需备案 无需签约 无需挂机监控APP 无需插件 无需第三方支付SDK 无需营业执照身份证 只需收款…...

Blender MMD Tools插件完全指南:从入门到精通

Blender MMD Tools插件完全指南&#xff1a;从入门到精通 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mmd_tools 你是否曾经…...

GTE语义搜索在网络安全领域的应用:威胁情报分析系统

GTE语义搜索在网络安全领域的应用&#xff1a;威胁情报分析系统 1. 网络安全的新挑战与机遇 每天&#xff0c;安全分析师都要面对海量的威胁数据——从安全警报、漏洞报告到攻击日志&#xff0c;信息量庞大且分散。传统的关键词搜索就像是用渔网捞针&#xff0c;经常漏掉重要…...