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

Python-基础知识

目录

Python 简介

Python 发展历史

Python 特点

Python 标识符

Python 保留字符

行和缩进

多行语句

Python 引号

Python注释


Python 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

Python 发展历史

  Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

  Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

  像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

  现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

  Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。

Python 特点

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 2.易于阅读:Python代码定义的更清晰。

  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。

  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 8.数据库:Python提供所有主要的商业数据库的接口。

  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

Python 标识符

 在 Python 里,标识符由字母、数字、下划线组成。

 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

 Python 中的标识符是区分大小写的。

 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。

以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:

>>> print ('hello');print ('runoob');
hello
runoob

Python 保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。

所有 Python 的关键字只包含小写字母。

andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield

行和缩进

  学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

多行语句

  Python语句中一般以新行作为语句的结束符。

  但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \item_two + \item_three

  语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday']

Python 引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。

其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

Python注释

python中单行注释采用 # 开头。

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py

# 第一个注释
print ("Hello, Python!")  # 第二个注释

输出结果:

Hello, Python!

注释可以在语句或表达式行末:

name = "Runoob" # 这里的内容是一个注释

python 中多行注释使用三个单引号 ''' 或三个双引号 """。

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py


'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

相关文章:

Python-基础知识

目录 Python 简介 Python 发展历史 Python 特点 Python 标识符 Python 保留字符 行和缩进 多行语句 Python 引号 Python注释 Python 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比…...

【java基础】集合基础说明

文章目录基本介绍Collection接口Iterator和Iterable接口Map接口关于Iterator接口的一些说明框架中的接口具体集合总结基本介绍 集合就是存储用来存储一系列数据的一种数据结构。在这篇文章中会介绍集合的一些基本概念。 Collection接口 集合的基本接口是Collection接口&…...

MySQL的下载及安装详细教程

提示:本文仅为MySQL初学者的安装MySQL过程提供参考,创作不易,请多点赞支持! MySQL的下载及安装前言一、MySQL的下载及安装1.MySQL的下载2.MySQL的安装3.配置环境变量4.连接MySQL4.1 方式一4.2 方式二前言 本文内容主要是帮助初学…...

SSL/TLS协议工作原理

SSL/TLS协议工作原理 SLL/TLS协议工作在应用层和传输层之间,应用层数据需要经过SSL/TLS层的加密之后才会发送到传输层。SSL/TLS协议有两个重要协议:握手协议、记录协议。 1. 握手协议 TCP三次握手完成后,才能进行SSL/TLS的握手。 因为&#…...

大数据项目实战之数据仓库:用户行为采集平台——第4章 用户行为数据采集模块

第4章 用户行为数据采集模块 4.1 数据通道 4.2 环境准备 4.2.1 集群所有进程查看脚本 1)在/home/atguigu/bin目录下创建脚本xcall [atguiguhadoop102 bin]$ vim xcall2)在脚本中编写如下内容 #! /bin/bashfor i in hadoop102 hadoop103 hadoop104 d…...

《统计学习方法》(李航)——学习笔记

第一章 概论统计学习,又称统计机器学习(机器学习),现在提到的 机器学习 往往指的就是 统计机器学习。统计学习研究的对象是数据,其对数据的基本假设是同类数据存在一定的统计规律性,因此可以用概率统计方法…...

阿里云EMR集群搭建及使用

目录 1.简介 1.什么是EMR 2.组成 3.与自建hadoop集群对比 4.产品架构 2.使用 1.创建EMR集群 1.登录EMR on ECS控制台 2.软件设置 3.硬件设置 3.基础配置 2.配置 1.组件配置 2.用户管理 3.安全组 4.Gateway 3.组件UI 1.简介 1.什么是EMR EMR是运行在阿里云平台…...

学习streamlit-4

st.slider 今天学习st.slider滑块组件的使用。 st.slider滑块组件通常被用来作为应用的输入,支持整数、浮点数、日期、时间和日期时间。 下面的示例程序包含以下简单功能,以演示st.slider滑块组件: 用户通过调整滑块选择值应用打印出所选…...

高级Oracle DBA面试题及答案

作为高级 Oracle DBA,您将负责 Oracle 数据库基础架构的设计、安装、配置、监控和维护。您还将负责制定和实施备份和恢复计划,并确保数据的安全性和完整性。要成功担任此职位,您需要对 Oracle 数据库架构有深入的了解,并能够有效地…...

程序员成长路线

程序员在成长的过程中,不同的阶段,需要关注的问题点一会都会有所不同,今天给大家分享下自己的感受。 0-1年,入门,掌握语言基础、提高工具的使用熟练度。 工作第一年,主要围绕ssm三件套、mysql、red…...

【Galois工具开发之路】关于类的重新装载思路

思路 当一个java的类文件发生变更,如果动态的热更新这个新的类文件?目前来说,有两种可能的方式 新增一个自定义ClassLoader,名为NC,让NC去load这个新的类文件,这样就完成了新的类定义的替换 但目前Java有…...

哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机

蓝牙耳机经过近几年的快速发展,在音质上的表现也越来越好。哪款蓝牙耳机音质好?最近看到很多人问。接下来,我来给大家推荐四款高音质蓝牙耳机,可以当个参考。 一、南卡小音舱蓝牙耳机 参考价:246 发声单元&#xff…...

Android程序自动在线升级安装

安卓小白分享: Android程序自动在线升级安装.(通过GetSharedDownloadsPath方法) 1>.修改AndroidManifest.template.xml ( 此文件在你DELPHI项目的目录中,如找不到就文件查找吧) 最好把此文件拖到DELPHI, 用DELPHI打开,(这样,它会一行一行格式清楚) 找到文字<%u…...

JS的BroadcastChannel与MessageChannel

BroadcastChannel与MessageChannel BroadcastChannel BroadcastChannel以广播的形式进行通信 BroadcastChannel用于创建浏览器标签页之间的通信 使用BroadcastChannel的浏览器标签页面必须要遵循同源策略 页面1使用BroadcastChannel创建一个频道&#xff0c;页面2使用Broadc…...

nextjs开发 + vercel 部署 ssr ssg

前言 最近想实践下ssr 就打算用nextjs 做一个人博客 &#xff0c; vercel 部署 提供免费域名&#xff0c;来学习实践下ssr ssg nextjs 一个轻量级的react服务端渲染框架 vercel 由 Next.js 的创建者制作 支持nextjs 部署 免费静态网站托管 初始化项目 npx create-next-app p…...

Good Idea, 利用MySQL JSON特性优化千万级文库表

&#x1f473;我亲爱的各位大佬们好&#x1f618;&#x1f618;&#x1f618; ♨️本篇文章记录的为 利用MySQL JSON特性优化千万级文库表 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f…...

【python游戏制作】快来跟愤怒的小鸟一起攻击肥猪们的堡垒吧

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 为了防止/报复偷走鸟蛋的肥猪们&#xff0c;鸟儿以自己的身体为武器&#xff0c; 仿佛炮弹一样去攻击肥猪们的堡垒&#xff0c;保卫自己的鸟蛋 这个游戏大家没玩过的想必也听说过~ 今天就给大家分享一下用python写的愤怒的…...

ARM 学习(一)

ARM 处理器的运行模式ARM处理器共有7种运行模式&#xff0c;如下表所示&#xff1a;处理器模式描述用户模式&#xff08;User&#xff09;正常程序运行模式中断模式&#xff08;IRQ&#xff09;用于通常的中断处理快速中断模式&#xff08;FIQ&#xff09;用于高速传输和通道处…...

深入分析Java的序列化与反序列化

序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题&#xff1a; 怎么实现Java的序列化 为什么实现了java.io.Serializable接口才能被序列化 transient的作用是什么 怎么自…...

、Tomcat源码分析-类加载器

接下来&#xff0c;我们再来看下 tomcat 是如何创建 common 类加载器的。关键代码如下所示&#xff0c;在创建类加载器时&#xff0c;会读取相关的路径配置&#xff0c;并把路径封装成 Repository 对象&#xff0c;然后交给 ClassLoaderFactory 创建类加载器。 Bootstrap.java…...

C# 爬虫抓图遇到TLS 1.3报错?.NET Framework 4.7 的终极自救指南

C# 爬虫抓图遇到TLS 1.3报错&#xff1f;.NET Framework 4.7 的终极自救指南 当你的C#爬虫在.NET Framework 4.7环境下突然开始报错"未能创建 SSL/TLS 安全通道"&#xff0c;而昨天还能正常运行——这很可能是因为目标服务器升级到了TLS 1.3协议。作为一个长期维护企…...

Wan2.1-UMT5开发环境搭建:Node.js后端服务与前端交互配置

Wan2.1-UMT5开发环境搭建&#xff1a;Node.js后端服务与前端交互配置 如果你正在折腾Wan2.1-UMT5的WebUI&#xff0c;想自己搞点后端服务&#xff0c;或者想扩展它的功能&#xff0c;比如加个状态查询、做个回调通知&#xff0c;那你来对地方了。很多朋友卡在环境配置这一步&a…...

复古玩法:OpenClaw+Qwen3.5-9B模拟操作Windows 98怀旧游戏

复古玩法&#xff1a;OpenClawQwen3.5-9B模拟操作Windows 98怀旧游戏 1. 为什么选择Windows 98游戏作为测试场景 最近在整理旧硬盘时&#xff0c;偶然发现了一批Windows 98时代的经典游戏安装包。这些20年前的老游戏不仅界面风格复古&#xff0c;操作方式也与现代软件大相径庭…...

从海报生成实战出发:深度解析Canvas文本绘制的那些“坑”与高效解决方案

从海报生成实战出发&#xff1a;深度解析Canvas文本绘制的那些“坑”与高效解决方案 在数字化营销盛行的今天&#xff0c;一张精美的海报往往能成为内容传播的"门面担当"。无论是文章分享、活动推广还是品牌展示&#xff0c;视觉化呈现的效果直接影响用户点击意愿。…...

别再被‘绝对安全’忽悠了:聊聊量子密钥分发里那个叫‘诱骗态’的‘安全补丁’

量子密钥分发中的"安全补丁"&#xff1a;诱骗态如何守护通信防线 量子通信常被冠以"绝对安全"的美誉&#xff0c;但鲜为人知的是&#xff0c;这项前沿技术同样需要不断打补丁来应对现实威胁。就像软件系统需要安全更新一样&#xff0c;量子密钥分发&#…...

从CVE-2023-3450看锐捷RG-BCR860路由器:一次网络诊断功能引发的命令注入实战剖析

1. 漏洞背景与设备介绍 锐捷RG-BCR860是面向中小型商业场景设计的云路由器&#xff0c;主打简单易用的中文Web管理界面。这款设备常见于连锁餐饮、快捷酒店等需要稳定网络环境的场所&#xff0c;最大支持150台终端同时接入。作为一款商用设备&#xff0c;它内置了安全审计模块和…...

正则表达式实战:精准校验日期时间格式的五大场景

1. 为什么我们需要校验日期时间格式&#xff1f; 在日常开发中&#xff0c;数据校验是最基础也最容易出问题的一环。就拿日期时间来说&#xff0c;你可能遇到过用户把"2023年2月30日"这种不存在的日期提交到系统&#xff0c;或者日志文件里的时间戳格式五花八门&…...

单细胞分群避坑指南:为什么你的CD4+T细胞总被污染?(含清洗技巧)

单细胞分群避坑指南&#xff1a;为什么你的CD4T细胞总被污染&#xff1f;&#xff08;含清洗技巧&#xff09; 在单细胞测序数据分析中&#xff0c;CD4T细胞的分群常常让研究者头疼不已。明明按照标准流程操作&#xff0c;为什么我的CD4T细胞群总是混入其他细胞&#xff1f;这…...

Z-Image-Turbo_Sugar脸部Lora应用探索:游戏NPC角色脸谱AI生成工作流

Z-Image-Turbo_Sugar脸部Lora应用探索&#xff1a;游戏NPC角色脸谱AI生成工作流 1. 什么是Z-Image-Turbo_Sugar脸部Lora Z-Image-Turbo_Sugar脸部Lora是一个专门用于生成特定风格脸部图像的AI模型。它基于Z-Image-Turbo模型&#xff0c;通过Lora技术进行了精细调优&#xff0…...

nli-distilroberta-base零基础上手:非算法工程师也能部署的逻辑推理服务

nli-distilroberta-base零基础上手&#xff1a;非算法工程师也能部署的逻辑推理服务 1. 项目介绍 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)服务&#xff0c;专门为没有算法背景的开发者设计。它能帮你快速判断两个句子之间的逻辑关系&#xff…...