百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python学习四-对象类型(python对象类型有哪些)

off999 2024-11-17 00:29 26 浏览 0 评论

python学习四-对象类型(2019-12-25)

1. 对象类型

Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量没有类型,我们所说的"类型"是变量所指的内存中对象的类型。Python中常见的类型有:

(1) 数值 数值分为整型(int)如:1234, 564;浮点型(float)如:1.245, 3.1415926, 1.23e9, 1.2e-5;复数(complex)如:3+4j;数字大小没有限制,支持复数及其运算。

(2) 字符串 (str) 如:‘Lisa’, r"I'm student", "'Python'";使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串,Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符;反斜杠(\)还可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。字符串的截取的语法格式如下使用:变量[头下标:尾下标],加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数。

(3) 字节串 (bytes)如:b’Hello, world’;以字母b引导,可以使用单引号、双引号、三引号作为定界符;

(4) 列表 (list)如:[1, 2, 3] ['a','b',['c','2']];所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型; 列表截取的语法格式如下:变量[头下标:尾下标],索引值以 0 为开始值,-1 为从末尾的开始位置。加号 + 是列表连接运算符,星号 * 是重复操作;

(5) 元组 (tuple) 如:(1, -9, 6), (3,);不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略;元组中的元素类型也可以不相同;元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取;字符串可看作一种特殊的元组;

(6) 字典 (dict)如:{1:'a', 2:'b', 3:'c'};所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”;键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的;创建空字典使用 { };

(7) 集合 (set)如:{'a', 'b', 'c'};所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的;创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典;

(8) 布尔型 (bool) True , False;逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False;

(9) 空类型 (NoneType) None;空值;

(10) 异常 Exception、ValueError、TypeError;Python内置大量异常类,分别对应不同类型的异常;

(11) 文件 如:f = open('data.dat', 'rb')一般用 with...as...;open是Python内置函数,使用指定的模式打开文件,返回文件对象;

(12) 其他可迭代对象 如:生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象......;具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次;

(13) 编程单元 函数(用def定义)、类(用class定义)他们都属于可调用对象;类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象

(14) 嵌套类型 如:var= [(2,4,6),{5:7,9:11,'key':[2,5]},6];

2. 变量赋值创建与删除

python采用等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值,当初次给变量指定一个值时,变量就会被创建。

counter = 100 # 整型单个变量赋值;

miles = 1000.0 # 浮点型单个变量赋值;

name = "hello" # 字符串单个变量赋值;

a = b = c = 1 # 同时为多变量赋值,从后向前赋值,三个变量被赋予相同的数值;

a, b, c = 1, 2, "hello"#同时为多变量赋值,从后向前赋值,三个变量被赋予不同的值;

a,b = b,a #交换两个变量的值;

当变量不再使用时,可以使用del var_a, var_b方式删除一个或多个变量的引用,同时可以使用isinstance(var_a, int)方式来判断变量是否使用某种类型,可以通过type(var_a)返回变量x当前的类型。

3. 类型转换

当需要进行类型转换时,你只需要将数据类型作为函数名即可。以下几个函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个 (key, value)元组序列。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

str.join(list/tuple/dict/string)

将一个列表/元祖/字典/字符串中元素连接成新的字符串


相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: