(Python基础)新时代语言!一起学习Python吧!(一):认识Python、Py解释器作用;编写第一个Python程序;Python中的基本数据结构

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
无影云电脑个人版,1个月黄金款+200核时
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 认识Python前提安装好Python,这里使用3.13版本如今Python作为变成姐最炙手可热的编程语言,它的使用途径涵盖绝大部分生活中需要的开发需要。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA都大量地使用Python。

认识Python

前提安装好Python,这里使用3.13版本

如今Python作为变成姐最炙手可热的编程语言,它的使用途径涵盖绝大部分生活中需要的开发需要。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA都大量地使用Python。

Python的优点:

  1. 简单
  2. 方便

追求的是,尽量写容易看明白的代码,尽量写少的代码。

Python适合的开发的应用类型:

  1. 网络应用(网站、后台服务等)
  2. 小工具(脚本)
  3. 包装其他脚本
  4. AI分析
  5. 数据处理
  6. ...

这样看Python是不是觉得有点万金油?实际上Python也就是这样,比起Java来说,Python也不遑多让

每门编程语言都有缺点,Python也有


Python的缺点其一:运行速度慢

  • 和C相比非常慢,因为Python是解释型语言, 执行的代码会一行一行的翻译成机器码
  • 翻译的整个过程非常慢

C是直接编译为机器码,所以非常快

尽管有性能缺陷,但大量的应用程序不需要这么快的运行速度,因为用户根本感受不出来。更别说现在还有其他的性能框架能在一定程度上替换掉影响不好的用户体验的效果。


Python缺点其二:代码不能加密

如果要发布Python程序,实际上就是发布源代码,但是呢,这个代码不能加密是针对原生的Python而言,如果使用其他插件还是可以对部分代码进行加密的(尽管说能破解掉就是了)

这个缺点主要体现在一些需要贩卖源码或者盗窃问题上

解释器

对于Python来说,可以合理的包含其他语言也是它的优势之一,这就不得不提到解释器了。

Python通过解释器,解释为各样的代码和显示内容。

CPython

当从Python官网下载并安装好Python3.x后,就直接获得了一个官方的解释器:CPython

  • 这个解释器是C语言开发,所以是CPython。

CPython是使用最广的Python解释器

  • IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分代码都可以在PyPy下运行,但需要注意,相同的Python代码在两种解释器下执行可能会有不同的结果。因为PyPy与CPython解释的方式是不一样的,如果需要使用PyPY,那么建议先了解一下PyPy和CPython的不同点。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

第一个Python程序

编辑器创建.py文件

创建一个.py文件,在文件内输入

print("hello Python")

然后我们运行这个.py文件

python 文件名.py

交互式输入输出

打开cmd窗口,输入python,进入Python的交互式命令模式

  • input() 这个函数是输入函数,它代表接收用户输入的值,并且将输入的值返回;若没有接收的变量,则返回到界面。

可以照如下代码编写

  • 示例1
>>> input()
测试
"测试"
>>>
  • 示例2
>>> name = input()
zhangsan
>>> name
"zhangsan"

数据类型

整数

Python可以处理任意大小的证书,包括负整数

  • 基本表示方法和数学上的写法一模一样
    • 如:1,100,50,-100,0 ...

在Python中,可以使用十六进制表示整数,十六进制0x前缀和0-9,a-f表示。

  • 如:0xfff000xa123e445bc2

对于很大的数字,例如:1000000000000,我们正常看是不是难以分清这个数有几个0?Python允许在数字中以_分隔。因此,可以写成:1_0000_0000_0000,这样完全是一样的

a = 1
b = 1.1
c = 0x11a
d = 100_000_000
print(a,b,c,d) # 1 1.1 282 100000000

注:Python中的整数没有大小限制

在其他语言中,整数是存在限制问题的,因为它受到了存储长度的大小限制。

浮点数(小数)

浮点数可以是数学写法;

  • 1.23 2.11 5.1 等

但是对于很大或很小的浮点数,就必须用科学计数法表示。

我们将e代替为10

如:

  • 1.23*10^9 就是 1.23e9
  • 12.3e8 就是 12.3*10^8
  • 0.000012可以写成: 1.2e-5

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精准的。

  • 但是浮点数运算则可能会出现四舍五入的误差
e = 5.1
f = 5.1e2
g = 5.1e-2
print(e,f,g) # 5.1 510.0 0.051

注:Python中,浮点数没有大小限制,但是超出一定范围会被表示为inf(无限大)

字符串

字符串是以单引号''或者""括起来的任意文本;

注意:''和""本身只是一种表示方式,不是字符串的一部分,因此字符串'abc'只有a,b,c三个字符

如果要将''符号本身定义为一个字符那么需要在''符号前面添加\反斜杠标识

例如:

'I\'m zhangsan'

表示的内容为:

I'm zhansgan

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容(跟js的``相当),可以自己试试:

j = "Hello"
k = 'Hello'
l = '''Hello'''
m = """
Hello
Python
"""
str = "\t制表符,\n换行符,\\反斜杠,\'单引号,\"双引号,\r回车"
print(j,k,l,m)
# Hello Hello Hello
# Hello
# Python
print(str) 
#        制表符,
# 回车符,\反斜杠,'单引号,"双引号,

布尔值(Boolean)

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False

在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

h = True
i = False
print(h,i) # True False

在python中,涉及到布尔值运算,就可以使用andornot运算

其作用与 &&、|| 、!的作用相同

and运算是与运算,双方值都为Trueand运算结果才是True

or运算是或运算,双方只要其中有一个为Trueor运算结果就是True

not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True

if age >= 18:
    print('adult')
else:
    print('teenager')

空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

拓展:在其他语言中的空值

  • java——null
  • js——null
  • go——nil

变量

变量,可以看作是一个存储数值的物件,它的数据类型是任意的。

变量在程序中用一个变量名表示,变量名必须是大小写英文、数字和_的组合,且不能用户数字开头

  • 变量声明示例
a = 1
v = "test"
isShow = True
my_body = "good"

在Python中,=号看作是赋值语句,其目的是将右侧数值赋值给左侧变量

而Python中,上述声明的变量都称作动态变量。

这样子的写法也称为动态语言,与之对应的是静态语言(Java、Golang)。

静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。

常量

常量通俗来说就是不能更改的变量,比如数学中π就是一个常量

在Python中,用 全部大写的变量名 来表示常量

PI = 3.1415926

而实际上,PI 仍然是变量,Python没有任何规定保证PI变量不会被改变

这个常量的称呼是我们开发自定的规定!

PI = 3.1415926
print(PI) # 3.1415926
PI = 3.14 # 可以更改,但是不建议更改。
print(PI)

💕👉博客专栏

目录
相关文章
|
11天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
10天前
|
存储 人工智能 搜索推荐
终身学习型智能体
当前人工智能前沿研究的一个重要方向:构建能够自主学习、调用工具、积累经验的小型智能体(Agent)。 我们可以称这种系统为“终身学习型智能体”或“自适应认知代理”。它的设计理念就是: 不靠庞大的内置知识取胜,而是依靠高效的推理能力 + 动态获取知识的能力 + 经验积累机制。
356 131
|
10天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
443 131
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
4天前
|
存储 安全 前端开发
如何将加密和解密函数应用到实际项目中?
如何将加密和解密函数应用到实际项目中?
206 138
|
10天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
405 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
4天前
|
存储 JSON 安全
加密和解密函数的具体实现代码
加密和解密函数的具体实现代码
204 136
|
22天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1363 8
|
9天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。

热门文章

最新文章