空(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
字典(Dictionaries)
字典是一种给值赋予关键字的数据结构。列表可以被看做一种有着某种范围的整数关键字的字典。
字典可以像列表一样索引,用方括号,只不过方括号里不在是下标,而是关键字
ages={"Dave":24,"Mary":42,"John":58}print(ages["Dave"])print(ages["Mary"])
结果是:


24 42
索引一个不是字典的关键字会出现错误,字典可以储存任何数据类型的值,空的字典为“{}”。
字典的关键字是不能改的。使用一个可以更改的object当做字典的关键字会产生类型错误(TypeError)。
bad_dict={ [1,2,3]:"one two three"}
结果是:


TypeError: unhashable type: 'list'
字典函数(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}
查看字典中是否存在某个关键字用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
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"))
元组(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]
跟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]
列表解析(List Comprehensions)
这是一种快速创建遵循某些规则的列表的方法:
cubes=[i**3 for i in range(5)]print(cubes)
结果是:


[0, 1, 8, 27, 64]
也可以包含if statement 加强限定条件。
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
结果是:


[0, 4, 16, 36, 64]
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
结果是:


[0, 4, 16, 36, 64]
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
Useful Functions
Python 内置了许多有用的函数
join ,用一个string充当分隔符把一个由string组成的列表连起来。
print(",".join(["spam","eggs","ham"]))
结果是:


spam,eggs,ham
replace,用一个string 取代另一个。
print("Hello ME".replace("ME","world"))
结果是:


Hello world
startwith和endwith,判断是否是由……开头或结束:
print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
结果是:


True True
lower和upper可以改变string的大小写
print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
结果是:


THIS IS A SENTENCE. this is a sentence.
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
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)
以上是关于python类型(type)的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

选择Python还是C 取决于项目需求:1)如果需要快速开发、数据处理和原型设计,选择Python;2)如果需要高性能、低延迟和接近硬件的控制,选择C 。

通过每天投入2小时的Python学习,可以有效提升编程技能。1.学习新知识:阅读文档或观看教程。2.实践:编写代码和完成练习。3.复习:巩固所学内容。4.项目实践:应用所学于实际项目中。这样的结构化学习计划能帮助你系统掌握Python并实现职业目标。

在两小时内高效学习Python的方法包括:1.回顾基础知识,确保熟悉Python的安装和基本语法;2.理解Python的核心概念,如变量、列表、函数等;3.通过使用示例掌握基本和高级用法;4.学习常见错误与调试技巧;5.应用性能优化与最佳实践,如使用列表推导式和遵循PEP8风格指南。

Python适合初学者和数据科学,C 适用于系统编程和游戏开发。1.Python简洁易用,适用于数据科学和Web开发。2.C 提供高性能和控制力,适用于游戏开发和系统编程。选择应基于项目需求和个人兴趣。

Python更适合数据科学和快速开发,C 更适合高性能和系统编程。1.Python语法简洁,易于学习,适用于数据处理和科学计算。2.C 语法复杂,但性能优越,常用于游戏开发和系统编程。

每天投入两小时学习Python是可行的。1.学习新知识:用一小时学习新概念,如列表和字典。2.实践和练习:用一小时进行编程练习,如编写小程序。通过合理规划和坚持不懈,你可以在短时间内掌握Python的核心概念。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。