Python的入门知识(上)
学习目标:
- 了解python 入门知识
这里写目录标题
- 学习目标:
- 学习内容:
- 快速入门
- Python 基础
- 特殊规则及特殊字符:
- Python 文件组织:
- 多元赋值:
- 变量命名规则:
- `__name__` 系统变量:
- 内存管理:
- Python 对象的特性:
- 内建函数 `type()`:
- `None`:
- 切片操作:
- 标准类型内建函数:
- `str()`, `repr()`, 和反引号(``)比较:
- `type()` 和 `isinstance()`:
- 可变类型与不可变类型:
- 不支持的类型:
学习内容:
快速入门
-
输出:使用
print函数来输出信息到控制台。 -
输入:使用
raw_input函数来从用户那里获取输入。(注意:在 Python 3 中,这个函数改名为input) -
列表:使用
[]创建,类似于数组,可以存储一系列的元素。 -
列表切片:使用
[from:to]语法来截取列表中的一部分,包含from索引的元素,但不包含to索引的元素。 -
字典:使用
{}创建,存储键值对,其中键是唯一的。 -
代码缩进:使用四个空格进行缩进,避免使用 Tab 键,因为不同操作系统下 Tab 的空格长度可能不同。
-
打开文件:使用
open(file_name, access_mode='r')来打开文件,其中access_mode可以是 ‘r’(只读)、‘w’(写入)等。 -
关闭文件:使用
handle.close()来关闭文件,handle是通过open函数获得的文件句柄。 -
函数定义:
def function_name(arguments):"optional documentation string"# 函数体使用
def关键字定义函数,可包括参数和可选的文档字符串。 -
类的
__init__方法:当创建类的新实例时自动执行,用于初始化对象。 -
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 中没有
char或byte类型,但有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(入门级)
最终效果: npm install echarts --save // 先安装echarts<template><!-- 创建一个dom区域用于挂载echarts图表 --><div id"chart" style"width: 600px;height:500px;"/> </template> <script> import * as ech…...
2025届秋招提前批信息汇总(计算机类)
私企篇 深信服 链接:https://app.mokahr.com/campus_apply/sangfor/27944#/home内推码:NTAHRFS截止时间:6月21日 TP-LINK 链接:https://hr.tp-link.com.cn/jobList?jobId107&jobDirection0&workPlace0¤tPa…...
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 采取完全随机的方式实现,简单来说就是将 UUID 中的 122 位全部随机填充(剩余的 6 位作标记位)。版本 4 的 UUID 存在一定的重复风险,但…...
开发个人Go-ChatGPT--6 OpenUI
开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种 LLM 运行器,包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由,OpenAI 的接口需要密钥才…...
Spring中的工厂模式详解及应用示例
1. Spring中的BeanFactory BeanFactory是一个接口,表示它是一个工厂,负责生产和管理bean。在Spring中,BeanFactory是IOC容器的核心接口,定义了管理Bean的通用方法,如 getBean 和 containsBean。 BeanFactory与IOC容器…...
Electron 简单搭建项目
准备工作 全局安装 node npm创建文件夹,并执行 npm init安装 electron npm i electron --save-dev在 package.json 配置文件中的scripts字段下增加一条start命令: {"scripts": {"start": "electron ."} }由于配置中的入…...
旗晟智能巡检机器人:开启工业运维的智能化新篇章
在当今快速发展的工业领域,安全、效率和成本控制是企业运营的核心。旗晟科技以创新为驱动,推出了一站式的工业级智能巡检机器人数字化全景运维解决方案,为石油、天然气、化工、电力等高危行业提供了一个全新的运维模式。 一、面对挑战&#x…...
vue3的常用 Composition API有哪些?
Vue.js 3.0 引入了 Composition API,作为一种新的组织组件逻辑的方式,相比于传统的 Options API,Composition API 提供了更灵活、更可复用的代码组织方式。 以下是 Vue 3.0 中常用的 Composition API:setup() 函数: s…...
深度优先算法-DFS(算法篇)
算法之深度优先算法 深度优先算法(DFS) 概念: 深度优先算法(DFS)跟BFS算法一样是用于遍历图的算法,但是DFS并不像BFS算法一样,它搜索出来的路径不具有最短性,并且dfs算法类似于枚举,因此DFS算法一般用于求出问题的所…...
C++模块化之内部类
目录 1.引言 2.内部类的访问控制 3.优缺点分析 4.实际运用 4.1.实现复杂数据结构 4.2.封装细节实现 4.3.事件处理和回调 4.4.模板元编程辅助类 4.5. 访问控制和封装 4.6. 代码组织和模块化 5.总结 1.引言 在C中,内部类(Nested Classÿ…...
k8s-第九节-命名空间
命名空间 如果一个集群中部署了多个应用,所有应用都在一起,就不太好管理,也可以导致名字冲突等。 我们可以使用 namespace 把应用划分到不同的命名空间,跟代码里的 namespace 是一个概念,只是为了划分空间。 # 创建命…...
【AI大模型新型智算中心技术体系深度分析 2024】
文末有福利! ChatGPT 系 列 大 模 型 的 发 布, 不 仅 引 爆 全 球 科 技 圈, 更 加 夯 实 了 人 工 智 能(Artificial Intelligence, AI)在未来改变人类生产生活方式、引发社会文明和竞争力代际跃迁的战略性地位。当…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
