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

Python的入门知识(上)

学习目标:

  • 了解python 入门知识

这里写目录标题

  • 学习目标:
  • 学习内容:
      • 快速入门
    • Python 基础
      • 特殊规则及特殊字符:
      • Python 文件组织:
      • 多元赋值:
      • 变量命名规则:
      • `__name__` 系统变量:
      • 内存管理:
      • Python 对象的特性:
      • 内建函数 `type()`:
      • `None`:
      • 切片操作:
      • 标准类型内建函数:
      • `str()`, `repr()`, 和反引号(``)比较:
      • `type()` 和 `isinstance()`:
      • 可变类型与不可变类型:
      • 不支持的类型:

学习内容:

快速入门

  1. 输出:使用 print 函数来输出信息到控制台。

  2. 输入:使用 raw_input 函数来从用户那里获取输入。(注意:在 Python 3 中,这个函数改名为 input

  3. 列表:使用 [] 创建,类似于数组,可以存储一系列的元素。

  4. 列表切片:使用 [from:to] 语法来截取列表中的一部分,包含 from 索引的元素,但不包含 to 索引的元素。

  5. 字典:使用 {} 创建,存储键值对,其中键是唯一的。

  6. 代码缩进:使用四个空格进行缩进,避免使用 Tab 键,因为不同操作系统下 Tab 的空格长度可能不同。

  7. 打开文件:使用 open(file_name, access_mode='r') 来打开文件,其中 access_mode 可以是 ‘r’(只读)、‘w’(写入)等。

  8. 关闭文件:使用 handle.close() 来关闭文件,handle 是通过 open 函数获得的文件句柄。

  9. 函数定义

    def function_name(arguments):"optional documentation string"# 函数体
    

    使用 def 关键字定义函数,可包括参数和可选的文档字符串。

  10. 类的 __init__ 方法:当创建类的新实例时自动执行,用于初始化对象。

  11. self 参数:在类的每个方法中,self 参数代表当前的实例对象,类似于其他面向对象编程语言中的 this 关键字。

这些是编程中非常基础的概念,对于初学者来说,理解这些概念是掌握编程语言的关键。


Python 基础

特殊规则及特殊字符:

  • 注释:使用 # 号添加注释,注释不会被程序执行。
  • 换行:使用 \n 来在字符串中表示换行。
  • 行继续:使用反斜线 \ 使代码行在视觉上更长,但逻辑上是一行。
  • 一行多语句:使用分号 ; 可以在一行中分隔多个语句。
  • 代码块:使用冒号 : 来标识代码块的开始,如循环和条件语句。
  • 缩进:使用不同深度的缩进来表示代码块的嵌套。

Python 文件组织:

  • Python 文件通常以模块的形式组织,可以被其他 Python 程序导入和使用。

多元赋值:

  • 可以使用 x, y, z = 1, 2, 3 这样的语法进行一一对应赋值。为了提高可读性,建议使用括号 (x, y, z) = 1, 2, 3

变量命名规则:

  • 变量名必须由字母、数字或下划线组成,且不能以数字开头。
  • 变量名区分大小写。
  • 避免以下划线开头命名变量,这是 Python 中的命名约定。

__name__ 系统变量:

  • 当模块被导入时,__name__ 的值是模块的名字。
  • 当模块被直接执行时,__name__ 的值是 '__main__'

内存管理:

  • Python 变量不需要事先声明。
  • 变量不需要指定类型,Python 会根据赋值自动推断。
  • Python 有自动内存管理和垃圾回收机制,程序员不需要手动管理内存。
  • 变量名不再使用时,会被垃圾回收机制回收。
  • 使用 del 语句可以显式删除对象,释放其占用的资源。

这些基础知识点是 Python 编程的基石,理解它们对于编写有效的 Python 程序至关重要。


以下是对您提供的 Python 基本概念的简化整理:

Python 对象的特性:

  • 身份:对象的唯一标识,可以通过 id() 函数获取。
  • 类型:对象的种类,如 int, str, list 等。
  • :对象所包含的数据。

内建函数 type()

  • 获取对象的类型。

None

  • Python 中的空值,相当于其他语言中的 NULL

切片操作:

  • 用于获取序列(如列表、字符串、元组)的一部分,格式为 sequence[start:end:step]

标准类型内建函数:

  • cmp(obj1, obj2):比较两个对象,已在 Python 3 中弃用。
  • repr(obj):获取对象的官方字符串表示,通常用于调试。
  • str(obj):获取对象的易读字符串表示,用于用户展示。

str(), repr(), 和反引号(``)比较:

  • str():用户友好的字符串表示。
  • repr():Python 友好的字符串表示,通常用于开发和调试。
  • 反引号(``):效果与 repr() 相同,但已不建议使用。

type()isinstance()

  • type(obj):返回对象的确切类型。
  • isinstance(obj, obj_type):检查对象是否是指定类型的实例。

可变类型与不可变类型:

  • 可变类型:如列表、字典,其内容可以被修改。
  • 不可变类型:如数字、字符串、元组,一旦创建,其内容不能被修改。

不支持的类型:

  • Python 中没有 charbyte 类型,但有 str 用于字符序列。
  • 没有指针类型。
  • int 类型在 Python 3 中没有大小限制,long 类型已被废弃。
  • float 类型在 Python 中没有 double 的区分。

通过这些整理,您可以更清晰地理解 Python 中对象的特性、内建函数的用途以及类型系统的基础。

相关文章:

Python的入门知识(上)

学习目标: 了解python 入门知识 这里写目录标题 学习目标:学习内容:快速入门 Python 基础特殊规则及特殊字符:Python 文件组织:多元赋值:变量命名规则:__name__ 系统变量:内存管理&a…...

2024春秋杯网络安全联赛夏季赛-PWN

文章目录 stdout测试setvbuf(stdout, 0LL, 2, 0LL)绕过或者输出直到缓冲区满使用system("/bin/sh")或者onegadget即使setvbuf(stdout, 0LL, 0, 0LL);也能立即有回显参考[https://starrysky1004.github.io/2024/07/05/2024-shu-qi-xue-xi-ji-lu/#toc-heading-4](https…...

怎么提高音频声音大小?提高音频声音大小的四种方法

怎么提高音频声音大小?在音频处理和编辑中,增加声音的音量是一个常见的需求,尤其是在确保音频清晰度和听觉效果的同时。调整音频的音量不仅仅是简单地提高音频的响度,它也涉及到如何保持音质的高标准,确保没有失真或削…...

从数据仓库到数据湖(下):热门的数据湖开源框架

文章目录 一、前言二、Delta Lake三、Apache Hudi四、Apache Iceberg五、Apache Paimon六、对比七、笔者观点八、总结九、参考资料 一、前言 在上一篇从数据仓库到数据湖(上):数据湖导论文章中,我们简单讲述了数据湖的起源、使用原因及其本质。本篇文章…...

对话AI原生 | 千帆AppBuilder重构企业AI原生应用开发体验

人工智能和大模型正在引领当前最重要的科技创新趋势。在过去的一年中,行业关注点已从大模型研发转向实际应用,正成为推动创新和转型的关键力量。百度智能云千帆AppBuilder作为基于大模型的企业级AI原生应用开发工作台,支持应用的快速开发和发…...

CF253C Text Editor 题解

思路 既然要求最少步数,那我们可以用bfs 如果鼠标的位置比上一行的行末位置大,如果按上的话,移到上一行的行末。如果鼠标的位置比下一行的行末位置大,如果按下的话,移到下一行的行末。 注意当鼠标位置超过当前行最大…...

Spring Boot 创建定时任务

在现代应用程序开发中,定时任务是一个常见的需求。Spring Boot作为一个强大的框架,提供了简单易用的定时任务调度功能。本文将详细介绍如何在Spring Boot中创建和管理定时任务,并提供完整的代码示例。 1. 什么是定时任务 定时任务是指在预定…...

Vue使用Echarts(入门级)

最终效果&#xff1a; npm install echarts --save // 先安装echarts<template><!-- 创建一个dom区域用于挂载echarts图表 --><div id"chart" style"width: 600px;height:500px;"/> </template> <script> import * as ech…...

2025届秋招提前批信息汇总(计算机类)

私企篇 深信服 链接&#xff1a;https://app.mokahr.com/campus_apply/sangfor/27944#/home内推码&#xff1a;NTAHRFS截止时间&#xff1a;6月21日 TP-LINK 链接&#xff1a;https://hr.tp-link.com.cn/jobList?jobId107&jobDirection0&workPlace0&currentPa…...

Scala Collection(集合)

Scala Collection(集合) Scala集合库是Scala语言的核心特性之一,它提供了一套丰富的数据结构来存储、管理和操作数据。Scala集合分为可变(mutable)和不可变(immutable)两种类型,每种类型都有其特定的用途和优势。本文将详细介绍Scala集合库的基本概念、常用集合类型以及…...

Go 语言 UUID 库 google/uuid 源码解析:UUID version4 的实现

google/uuid 库地址 本文将解析 googl/uuid 库中 UUID 变体10版本4的实现。 版本 4 的 UUID 采取完全随机的方式实现&#xff0c;简单来说就是将 UUID 中的 122 位全部随机填充&#xff08;剩余的 6 位作标记位&#xff09;。版本 4 的 UUID 存在一定的重复风险&#xff0c;但…...

开发个人Go-ChatGPT--6 OpenUI

开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线运行。它支持各种 LLM 运行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由&#xff0c;OpenAI 的接口需要密钥才…...

Spring中的工厂模式详解及应用示例

1. Spring中的BeanFactory BeanFactory是一个接口&#xff0c;表示它是一个工厂&#xff0c;负责生产和管理bean。在Spring中&#xff0c;BeanFactory是IOC容器的核心接口&#xff0c;定义了管理Bean的通用方法&#xff0c;如 getBean 和 containsBean。 BeanFactory与IOC容器…...

Electron 简单搭建项目

准备工作 全局安装 node npm创建文件夹&#xff0c;并执行 npm init安装 electron npm i electron --save-dev在 package.json 配置文件中的scripts字段下增加一条start命令&#xff1a; {"scripts": {"start": "electron ."} }由于配置中的入…...

旗晟智能巡检机器人:开启工业运维的智能化新篇章

在当今快速发展的工业领域&#xff0c;安全、效率和成本控制是企业运营的核心。旗晟科技以创新为驱动&#xff0c;推出了一站式的工业级智能巡检机器人数字化全景运维解决方案&#xff0c;为石油、天然气、化工、电力等高危行业提供了一个全新的运维模式。 一、面对挑战&#x…...

vue3的常用 Composition API有哪些?

Vue.js 3.0 引入了 Composition API&#xff0c;作为一种新的组织组件逻辑的方式&#xff0c;相比于传统的 Options API&#xff0c;Composition API 提供了更灵活、更可复用的代码组织方式。 以下是 Vue 3.0 中常用的 Composition API&#xff1a;setup() 函数&#xff1a; s…...

深度优先算法-DFS(算法篇)

算法之深度优先算法 深度优先算法(DFS) 概念&#xff1a; 深度优先算法(DFS)跟BFS算法一样是用于遍历图的算法&#xff0c;但是DFS并不像BFS算法一样&#xff0c;它搜索出来的路径不具有最短性&#xff0c;并且dfs算法类似于枚举&#xff0c;因此DFS算法一般用于求出问题的所…...

C++模块化之内部类

目录 1.引言 2.内部类的访问控制 3.优缺点分析 4.实际运用 4.1.实现复杂数据结构 4.2.封装细节实现 4.3.事件处理和回调 4.4.模板元编程辅助类 4.5. 访问控制和封装 4.6. 代码组织和模块化 5.总结 1.引言 在C中&#xff0c;内部类&#xff08;Nested Class&#xff…...

k8s-第九节-命名空间

命名空间 如果一个集群中部署了多个应用&#xff0c;所有应用都在一起&#xff0c;就不太好管理&#xff0c;也可以导致名字冲突等。 我们可以使用 namespace 把应用划分到不同的命名空间&#xff0c;跟代码里的 namespace 是一个概念&#xff0c;只是为了划分空间。 # 创建命…...

【AI大模型新型智算中心技术体系深度分析 2024】

文末有福利&#xff01; ChatGPT 系 列 大 模 型 的 发 布&#xff0c; 不 仅 引 爆 全 球 科 技 圈&#xff0c; 更 加 夯 实 了 人 工 智 能&#xff08;Artificial Intelligence, AI&#xff09;在未来改变人类生产生活方式、引发社会文明和竞争力代际跃迁的战略性地位。当…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

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

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

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

Docker、Wsl 打包迁移环境

电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本&#xff1a; 2.2.4.0 内核版本&#xff1a; 5.15.153.1-2 WSLg 版本&#xff1a; 1.0.61 MSRDC 版本&#xff1a; 1.2.5326 Direct3D 版本&#xff1a; 1.611.1-81528511 DXCore 版本&#xff1a; 10.0.2609…...