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)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
