目录
空(None)
字典(Dictionaries)
字典函数(Dictionary Functions)
元组(Tuples)
列表切片(List Slices)
列表解析(List Comprehensions)
String Formatting
Useful Functions
首页 后端开发 Python教程 关于python类型(type)的详细介绍

关于python类型(type)的详细介绍

Jun 27, 2017 am 09:26 AM
type 类型

空(None)

None可以用来表示某一个变量的值缺失,类似于其他语言中的null。

像其他的空值:0,[]和空的string,布尔变量给的是False而不是True。

if None:print("None got interpreted as True")else:print("None got interpreted as False")
登录后复制

结果是:

None got interpreted as False
登录后复制

当一个函数没有返回任何值时,就会返回None:

def some_func():print("Hi")
var=some_func()print(var)
登录后复制

结果是:

Hi
None
登录后复制
View Code

字典(Dictionaries)

字典是一种给值赋予关键字的数据结构。列表可以被看做一种有着某种范围的整数关键字的字典。

字典可以像列表一样索引,用方括号,只不过方括号里不在是下标,而是关键字

ages={"Dave":24,"Mary":42,"John":58}print(ages["Dave"])print(ages["Mary"])
登录后复制

结果是:

24
42
登录后复制
View Code

索引一个不是字典的关键字会出现错误,字典可以储存任何数据类型的值,空的字典为“{}”。

字典的关键字是不能改的。使用一个可以更改的object当做字典的关键字会产生类型错误(TypeError)。

bad_dict={
    [1,2,3]:"one two three"}
登录后复制

结果是:

TypeError: unhashable type: 'list'
登录后复制
View Code

字典函数(Dictionary Functions)

字典的关键字可以被赋予不同的值。如果没有关键字,那就新建一个关键字:

squares={1:1,2:4,3:"error",4:16}
squares[8]=64squares[3]=9print(squares)
登录后复制

结果是:

{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
登录后复制
View Code

查看字典中是否存在某个关键字用in或not in 就像在列表中一样。

nums={1:"one",2:"two",3:"three"}print(1 in nums)print("three"in nums)print(4 not in nums)
登录后复制

结果是:

True
False
True
登录后复制
View Code

get是一个非常好用的字典method,起的作用和索引一样,但是如果在字典中找不到关键字,就会返回None,而不是错误

paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in dictionary"))
登录后复制

get的第二个参数的意思是找不到关键字就返回这个值。

结果是:

paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in the dicrionary"))
登录后复制
View Code

元组(Tuples)

元组和列表很像,但他们是不能被更改的,用括号就能新建一个元组,不用也可以……:

words=("spam","eggs","sausages",)
登录后复制
words="spam","eggs","sausages",
登录后复制

空元组用()新建。

元组的运行速度比列表快

其他使用方法和列表类似。

列表切片(List Slices)

列表切片是一种检索列表值的高级方法。基本的切片方法是用两个被冒号分开的整数来索引列表。这样可以从旧列表返回一个新列表。

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[2:6])print(squares[3:8])print(squares[0:1])
登录后复制

结果是:

[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
登录后复制
View Code

跟range的参数相似,第一的下标的值会包括,但不包括第二个下标的值。

如果第一个下标省略,默认从头开始,

如果第二个下标省略,默认到结尾结束。

切片同样可以用于元组。

切片也有第三个参数,决定了步长。第一二个分别决定了开头与结尾。

squares=[0,1,4,9,16,25,36,49,64,81]
print(squares[:6:2])
print(squares[3::3])
print(squares[::3])
登录后复制

结果是:

[0, 4, 16]
[9, 36, 81]
[0, 9, 36, 81]
登录后复制

参数是复数的话就倒着走。-1是倒数第一,-2是倒数第二,第三个参数为负就会倒着切,这时候第一个参数和第二个参数就要倒着看了,也就是第二个参数变成了开始,第一个变成了结尾(因此-1会使整个列表倒序)

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[:-1])print(squares[::-3])print(squares[-3::2])
登录后复制

结果是:

[0, 1, 4, 9, 16, 25, 36, 49, 64]
[81, 36, 9, 0]
[49, 81]
登录后复制
View Code

列表解析(List Comprehensions)

这是一种快速创建遵循某些规则的列表的方法:

cubes=[i**3 for i in range(5)]print(cubes)
登录后复制

结果是:

[0, 1, 8, 27, 64]
登录后复制
View Code

也可以包含if statement 加强限定条件。

evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
登录后复制
登录后复制

结果是:

[0, 4, 16, 36, 64]
登录后复制
登录后复制
View Code
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
登录后复制
登录后复制

结果是:

[0, 4, 16, 36, 64]
登录后复制
登录后复制
View Code

range的范围过大会超出内存的容量引发MemoryError

String Formatting

为了使string和non-string结合,可以把non-string转化为string然后再连起来。

string formatting提供了一种方式,把non-string嵌入到string里,用string的format method来替换string里的参数。

nums=[4,5,6]
msg="Numbers:{0} {1} {2}".format(nums[0],nums[1],nums[2])print(msg)
登录后复制

format里的参数和{}里的参数是对应的。{}的参数是format()里参数的下标

参数被命名这种情况也是可以的:

a="{x},{y}".format(x=5,y=12)print(a)
登录后复制

结果是:

5,12
登录后复制
View Code

Useful Functions

Python 内置了许多有用的函数

join ,用一个string充当分隔符把一个由string组成的列表连起来。

print(",".join(["spam","eggs","ham"]))
登录后复制

结果是:

spam,eggs,ham
登录后复制
View Code

replace,用一个string 取代另一个。

print("Hello ME".replace("ME","world"))
登录后复制

结果是:

Hello world
登录后复制
View Code

startwith和endwith,判断是否是由……开头或结束:

print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
登录后复制

结果是:

True
True
登录后复制
View Code

lower和upper可以改变string的大小写

print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
登录后复制

结果是:

THIS IS A SENTENCE.
this is a sentence.
登录后复制
View Code

split的作用于join 相反,他可以按某个string为分隔符将一串string分开并成为列表的形式。

print("apple,eggs,banana".split(","))
登录后复制

结果是:

['apple', 'eggs', 'banana']
登录后复制

 有关数学的一些函数有:最大值max,最小值min,绝对值abs,约等数round(第二个参数可以决定保留几位小数),对列表里的数求和用sum等:

print(min(1,2,3,4,5,6,7))print(max(1,2,3,4,5,6,7))print(abs(-98))print(round(78.632453434,4))print(sum([2.12121,23232323]))
登录后复制

结果是:

1
7
98
78.6325
23232325.12121
登录后复制
View Code

all和any可以把列表当成参数,然后返回True或 False,

nums=[55,44,33,22,11]if all([i <56 for i in nums]):print("All smaller than 56.")
登录后复制

 

nums=[55,44,33,22,11]if any([i <22 for i in nums]):print("at least one is smaller than 22.")
登录后复制

all和any的区别是,all需要所有的值都满足,any只需要有一个满足就行了。

枚举(enumerate),字面意思,把列表中的值按顺序一个一个列出来。

nums=[55,44,33,22,11]for v in enumerate(nums):print(v)
登录后复制

结果是:

(0, 55)
(1, 44)
(2, 33)
(3, 22)
(4, 11)
登录后复制
View Code

 

以上是关于python类型(type)的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在 Windows 11 中更改网络类型为专用或公共 如何在 Windows 11 中更改网络类型为专用或公共 Aug 24, 2023 pm 12:37 PM

设置无线网络很常见,但选择或更改网络类型可能会令人困惑,尤其是在您不知道后果的情况下。如果您正在寻找有关如何在Windows11中将网络类型从公共更改为私有或反之亦然的建议,请继续阅读以获取一些有用的信息。Windows11中有哪些不同的网络配置文件?Windows11附带了许多网络配置文件,这些配置文件本质上是可用于配置各种网络连接的设置集。如果您在家中或办公室有多个连接,这将非常有用,因此您不必每次连接到新网络时都进行所有设置。专用和公用网络配置文件是Windows11中的两种常见类型,但通

解决Ubuntu挂载移动硬盘错误:未知的文件系统类型exfat 解决Ubuntu挂载移动硬盘错误:未知的文件系统类型exfat Jan 05, 2024 pm 01:18 PM

ubuntu挂载移动硬盘出现错误:mount:unknownfilesystemtype'exfat'处理方法如下:Ubuntu13.10或安装exfat-fuse:sudoapt-getinstallexfat-fuseUbuntu13.04或以下sudoapt-add-repositoryppa:relan/exfatsudoapt-getupdatesudoapt-getinstallfuse-exfatCentOSLinux挂载exfat格式u盘错误的解决方法CentOS中加载extfa

Go中Type关键字有哪些用法 Go中Type关键字有哪些用法 Sep 06, 2023 am 09:58 AM

Go中Type关键字的用法有定义新的类型别名或者创建新的结构体类型。详细介绍:1、类型别名,使用“type”关键字可以为已有的类型创建别名,这种别名不会创建新的类型,只是为已有的类型提供一个新的名称,类型别名可以提高代码的可读性,使代码更加清晰;2、结构体类型,使用“type”关键字可以创建新的结构体类型,结构体是一种复合类型,可以用于定义包含多个字段的自定义类型等等。

用Python实现动态数组:从入门到精通 用Python实现动态数组:从入门到精通 Apr 21, 2023 pm 12:04 PM

Part1聊聊Python序列类型的本质在本博客中,我们来聊聊探讨Python的各种“序列”类,内置的三大常用数据结构——列表类(list)、元组类(tuple)和字符串类(str)的本质。不知道你发现没有,这些类都有一个很明显的共性,都可以用来保存多个数据元素,最主要的功能是:每个类都支持下标(索引)访问该序列的元素,比如使用语法Seq[i]​。其实上面每个类都是使用数组这种简单的数据结构表示。但是熟悉Python的读者可能知道这3种数据结构又有一些不同:比如元组和字符串是不能修改的,列表可以

视频矩阵账号怎么做?它的矩阵账号都有哪些类型呢? 视频矩阵账号怎么做?它的矩阵账号都有哪些类型呢? Mar 21, 2024 pm 04:57 PM

随着短视频平台的盛行,视频矩阵账号营销已成为一种新兴营销方式。通过在不同平台上创建和管理多个账号,企业和个人能够实现品牌推广、粉丝增长和产品销售等目标。本文将为您探讨如何有效运用视频矩阵账号,并介绍不同类型的视频矩阵账号。一、视频矩阵账号怎么做?要想做好视频矩阵账号,需要遵循以下几个步骤:首先要明确你的视频矩阵账号的目标是什么,是为了品牌传播、粉丝增长还是产品销售。明确目标有助于制定相应的策略。2.选择平台:根据你的目标受众,选择合适的短视频平台。目前主流的短视频平台有抖音、快手、火山小视频等。

Golang 函数返回值的类型是什么? Golang 函数返回值的类型是什么? Apr 13, 2024 pm 05:42 PM

Go函数可以返回多个不同类型的值,返回值类型在函数签名中指定,并通过return语句返回。例如,函数可以返回一个整数和一个字符串:funcgetDetails()(int,string)。实战中,一个计算圆面积的函数可以返回面积和一个可选错误:funccircleArea(radiusfloat64)(float64,error)。注意事项:如果函数签名未指定类型,则返回空值;建议使用显式类型声明的return语句以提高可读性。

Python中类型提示的最佳实践 Python中类型提示的最佳实践 Apr 23, 2023 am 09:28 AM

使用动态语言一时爽,代码重构火葬场。相信你一定听过这句话,和单元测试一样,虽然写代码的时候花费你少量的时间,但是从长远来看,这是非常值得的。本文分享如何更好的理解和使用Python的类型提示。1、类型提示仅在语法层面有效类型提示(自PEP3107开始引入)用于向变量、参数、函数参数以及它们的返回值、类属性和方法添加类型。Python的变量类型是动态的,可以在运行时修改,为代码添加类型提示,仅在语法层面支持,对代码的运行没有任何影响,Python解释器在运行代码的时候会忽略类型提示。因此类型提

C++ 函数的类型和特性 C++ 函数的类型和特性 Apr 11, 2024 pm 03:30 PM

C++函数有以下类型:简单函数、const函数、静态函数、虚函数;特性包括:inline函数、默认参数、引用返回、重载函数。例如,calculateArea函数使用π计算给定半径圆的面积,并将其作为输出返回。

See all articles