python基本概念-关键要素

2023-11-01

1. 要素1: 数据类型

Python提供了几种内置的数据类型,现在我们只关注其中两种。Python使用int类型表示整数(正整数或负整数),使用str类型表示字符串(Unicode字符序列)。

如果需要将一个数据项从某种类型转换为另一种类型,可以使用语法datatype(item),例如:

int()转换可以允许头尾处带有空格,因此,int('  45 ')也是正确的。srt()转换计划可以以应用于所有数据项。

2. 要素2:对象引用

定义了数据类型之后,接下来要做的事情就是定义存储某种类型数据的变量,但Python没有这样的变量,而是使用“对象引用”。对固定对象(比如intS与strS)而言,变量与对象引用之间没有可察觉的差别。对于可变对象,则存在差别,但是在实际工作中很少有影响。如

x = ‘blue’

y = 'green'

z = x

执行上面第一条语句时,python会创建一个str对象,其文本内容为“blue”,同时还创建一个名为x的对象引用,x引用的就事这个str对象。通俗说变量x已经被分配了blue这一字符串。

在其他语言中,操作符“=”与变量分配操作符是不一致的。在python中,‘=’的作用是将对象引用于内存中的某种对象进行绑定。

3.要素3:组合数据类型

python提供了几种组合数据类型,包括关联数组与集合等类型,这里我们只讨论其中两种:元组与列表

Python元组与列表可用于存储任意数量、任意类型的数据项;元组是固定的,创建之后就不能改变;列表是可变的,在需要的时候,可以插入或移除数据项。

实质上,列表与元组并不真正存储数据项,而是存放对象引用。创建列表与元组时(以及在列表中插入数据项时),实际上是使用其给定的对象引用的副本。在字面意义项(比如整数或字符串)的情况下,会在内存中创建适当数据类型的对象,而存放在列表或元组中的才是对象引用。

元组、列表以及字符串等数据类型是“有大小的”,也就是说,对这些数据类型而言,长度或大小等度量是有意义的,将这些数据类型的数据项做完参数传递给len()函数是有意义的。

所以python数据项都是某种特定数据类型(也称之为“类”)的“对象”(也称之为“实例”)。对象与有些其他语言提供的数据项的关键区别在于,对象可以有“方法”。方法就是某特定对象可以调用的函数。比如数据类型list有一个append()方法,借助于该方法,可以以如下方式添加对象:

在过程型程序设计语言中,以如下的方式(完全有效的python语法)使用列表的append()方法可以完成同样的功能:

list 类型有很多其他方法,包括insert()方法,在某给定的索引位置插入数据项;remove()方法,该方法用于移除某给定索引位置上的数据项。

insert()语法:

list.insert(index,obj)

  • index -- 对象 obj 需要插入的索引位置。
  • obj -- 要插入列表中的对象。

remove()语法:

list.remove(obj)

      obj -- 列表中要移除的对象

4. 要素4:逻辑操作符

4.1 身份操作符

由于所有的python变量实际上都是对象引用,有时,询问两个或更多的对象引用是否都指向相同的对象是有意义的。is 操作符是一个二元操作符,如果其左端的对象引用与右端的对象引用指向的而是同一个对象,则会返回true。

需要注意,通常,对intS、strS 以及很多其他数据类型进行比较是没有意义的。

身份比较的一个好处是速度非常快,这是因为,并不必须对进行比较的对象本身进行检查,is 操作符只需要对对象所在的内存地址进行比较--同样的地址存储的是同样的对象。

最常见的使用is的情况是将数据项与内置的空对象None进行比较,None通常用作位置标记值,指示“未知”或“不存在”,如下

上面使用is not 是对身份测试的反向测试

4.2 比较操作符

<、>、<=、==、!=、>=、

python比较操作符的一个特别好用的特性是可以进行结链比较,如;

 4.3 成员操作符

对序列或集合这一数据类型,比如字符串、列表或元组,我们可以使用操作符in 来测试成员关系,用not in 来测试非成员关系。

对列表与元组,in 操作符使用线性搜索,对非常大的组合类型(包含数万个或更多的数据项),速度可能会较慢;而对字典或集合,in 操作可以非常快。

4.4 逻辑运算符

python提供了3个逻辑运算符:and、or、not。

5 . 要素5:控制流语句

略----参照博客python基础概念-循环  http://www.cnblogs.com/Annaying/p/7778630.html 

6. 要素6:算数操作符

+ 、- 、* 、/ 、+= 、*=

7.要素7:输入/输出

输出: print()

输入: input(),接收用户输入的内容,如下:

最后一个if语句的作用是:如果用户不输入任何数值,那么print不会输出,并且被0除也会避免。

 8. 要素8:函数的创建与调用

函数创建语法:

def functionName(arguments):

        suite

这里,argument是可选的;如果有多个参数,就必须使用逗号进行分隔。每个python函数有一个返回值,默认情况下为None,除非我们使用语法return value 来从函数返回,此时value是实际的返回值。返回值可以是一个值,也可以是一组值。如下:

Python提供了大量的内置函数,其标准库的大量模块中包含更多的函数,我们可以直接使用,使用之前先用 import语句导入;标准模块的模块名都是小写字母,使用中注意区分。

 

转载于:https://www.cnblogs.com/Annaying/p/7799861.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python基本概念-关键要素 的相关文章

随机推荐

  • 深度学习(30)—— DeformableDETR(1)

    深度学习 30 DeformableDETR 1 原本想在一篇文章中就把理论和debug的过程都呈现 但是发现内容很多 所以就分开两篇 照常先记录理论学习过程 然后是实践过程 注 大家一定不要看过理论就完事儿了 去扣代码 看人家怎么完成的
  • qt5.6.0 opengl —— 纹理贴图

    对于CUBE这个例子 之前分析了它的框架 至于图怎么弄上去的还怎么细看 现在尝试弄了一下 首先分析它怎么对应的 原本是一张图 怎么分成六面的 于是像高中时代那样开始了计算理解 这样就清楚多了 一张图 划分为6个块 一个面一块 至于归一化 可
  • k8s如何对外公布一个应用程序

    一 Kubernetes Service 服务 概述 事实上 Pod 容器组 有自己的 生命周期 opens new window 当 worker node 节点 故障时 节点上运行的 Pod 容器组 也会消失 然后 Deployment
  • Spring Security快速入门

    Spring Security是一个框架 提供 认证 authentication 授权 authorization 和 保护 以抵御常见的攻击 它对保护命令式和响应式应用程序有一流的支持 是保护基于Spring的应用程序的事实标准 spr
  • Java中的集合及深拷贝与浅拷贝

    Java中的集合及深拷贝与浅拷贝 Java是一种面向对象的编程语言 其中集合是常用的数据结构之一 具有方便快捷的特点 在Java开发中 我们常常需要对集合进行复制 拷贝 操作 但是 拷贝操作并不是简单的复制 而应该分为浅拷贝和深拷贝两种不同
  • MySQL学习笔记1:MySQL字符集和字符集编码

    MySQL学习笔记索引 MySQL学习笔记1 MySQL字符集和字符集编码 MySQL学习笔记2 如何避免数据库乱码 MySQL学习笔记3 排序规则和排序规则的影响 MySQL学习笔记4 排序规则的修改 文章目录 一 基本概念 二 mysq
  • 【学习笔记】应用与编排管理:Deployment

    学习笔记 应用与编排管理 Deployment 需求来源 背景问题 Deployment 管理部署发布的控制器 架构设计 管理模式 Deployment 控制器 ReplicaSet 控制器 发布模拟 spec 字段解析 升级策略字段解析
  • 闭包使用的3种情景

    定义 通俗讲 闭包是函数里面再定义一个函数 里层函数能访问到外层函数的局部变量 也就是说闭包是一个能访问外层函数局部变量的函数 常用情景有以下3种 1 在window下有个全局变量a 在函数checkScope内部有个局部变量a 需求 在w
  • Parkour World 游戏内测攻略详解

    Parkour World 是一款将赛博朋克风格与跑酷元素结合的运动类PC端游戏 玩家通过在虚拟世界中进行跑酷 从而获取相应的奖励 Parkour World结合区块链技术 采用保值NFT以及独特的3token Arb Hood Yuri
  • Spring源码分析(七)Bean生命周期源码解析5:Bean的销毁

    Bean的销毁过程 应用场景 通过实现DisposableBean接口 或者使用注解 PreDestroy都行 Component public class OrderService implements DisposableBean pu
  • 游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理

    本系列文章由zhmxy555编写 转载请注明出处 http blog csdn net zhmxy555 article details 7405479 作者 毛星云 邮箱 happylifemxy qq com 欢迎邮件交流编程心得 上一
  • 领域驱动设计:DDD 关键概念

    文章目录 领域和子域 核心域 通用域和支撑域 通用语言 限界上下文 实体 值对象 聚合 聚合根 设计聚合 DDD 的知识体系提出了很多的名词 像 领域 子域 核心域 通用域 支撑域 限界上下文 聚合 聚合根 实体 值对象等等 非常多 领域和
  • 归一化笔记

    目录 为什么要归一化 归一化的方法有哪些 归一化各方法特点 归一化的意义 哪些机器学习算法需要做归一化 哪些机器学习算法不需要做归一化 为什么要归一化 因为每一列数据的量纲不同 导致数据分布区间区间存在差异 举例 人的身高可以是180cm
  • 搜狐2012年校园招聘会笔试题解析

    一 不定项选择题 1 以下程序的打印结果是 cpp view plain copy include
  • QT笔记- 使窗口不获得焦点,但响应鼠标事件

    HWND wid HWND this gt winId SetWindowLong wid GWL EXSTYLE GetWindowLong wid GWL EXSTYLE WS EX NOACTIVATE WS EX COMPOSITE
  • Polycarp and Div 3【Codeforces Round #496 (Div. 3)【D题】】【贪心】

    应该说是今天凌晨的吧 第一次打Code Forces 懵懵懂懂的 不过感觉还是良好 做了几道签到题 难题还是没有那个水准去做 Polycarp likes numbers that are divisible by 3 He has a h
  • 应用统计学与R语言实现笔记(番外篇四)——bookdown使用与OR值计算

    本期是之前做的应用统计学与R语言实现笔记的番外篇四 本期主要关注两个问题 一个是重新利用R的bookdown包创建新的电子书 另一个是计算公共卫生当中一个比较常见的指标OR值 文章目录 1 bookdown使用 2 公式更正 3 OR值计算
  • linux下网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力 个人感觉要比Apache自带的ab压力测试工具好 安装使用也特别方便 1 适用系统 Linux 2 编译安装 引用wget http blog s135 com soft li
  • Sentinel 入门使用

    目录 一 Sentinel简介 1 1Sentinel简介 1 2 Sentinel与Hystrix的区别 1 3 名词解释 二 sentinel控制台 2 1 下载启动控制台 2 3 客户端接入控制台 2 4 Rest整合Sentinel
  • python基本概念-关键要素

    1 要素1 数据类型 Python提供了几种内置的数据类型 现在我们只关注其中两种 Python使用int类型表示整数 正整数或负整数 使用str类型表示字符串 Unicode字符序列 如果需要将一个数据项从某种类型转换为另一种类型 可以使