文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

小飞侠带你精通Python网络编程系列0

2023-01-30 22:44

关注

在Python中有以下几种标准的内置数据类型:

1.NoneType: The Null object--空对象
2.Numerics(数值): int-整数, long-长整数, float-浮点数, complex-复数, and     bool--布尔值 (The subclass of int with True or False value)
3.Sequences(序列): str-字符串, list-列表, tuple-元组, and range-范围
4.Mappings(映射): dict-字典
5.Sets(集合): set-可变集合 and frozenset-不可变集合

一、NoneType

(1)The Nonetype denotes an object with no value.

 #Nonetype是Python的特殊类型,表示一个空对象,值为None

 可以将None赋值给任何变量,但是你不能创建其他NoneType对象。

 【案例】

 

1 >>> x = None
2 >>> print(type(x))
3 <class 'NoneType'>
4 >>> 

(2) This is returned in functions that do not explicitly return anything.

  #函数没有明确的返回值时,默认值为None

【案例】

 

>>> def subtract(a,b):
    c = a - b
    
>>> result = subtract(10,5)
>>> print(result)
None
>>> def subtract(a,b):
    c = a - b
    return c

>>> result = subtract(10,5)
>>> print(result)
5

 

 (3)The NoneType is also used in function arguments to error out if the caller does not pass in an actual value.

      #如果函数参数中未调用一个实际值,则也会使用none以报错。

二、Numerics(数值)

Python numeric对象基本上是数字。除了布尔值,int、long、float和complex的数字类型都有符号,这意味着它们可以是正的也可以是负的。布尔值是整数的子类,可以是两个值之一:1表示真,0表示假。其余数字类型的区别在于它们表示数字的精确程度;例如,int是范围有限的整数,long是范围无限的整数。float是使用机器上的双精度表示(64位)的数字。

 

三、Sequences(序列)

 

序列是具有非负整数索引的有序对象集合。

1.string(字符串)

 有时人们会惊奇地发现字符串实际上是一种序列类型。但是如果仔细观察,字符串是一系列字符组合在一起。字符串由单引号、双引号或三引号括起来。注意在以下示例中,引号必须匹配,并且三重引号允许字符串跨越不同的行:

a = "networking is fun"
b = 'DevOps is fun too'
c = """what about coding?
... super fun"""

 2.list(列表)

列表是任意对象的序列。可以通过将对象括在方括号中来创建列表。和字符串一样,列表也是由以零开始的非零整数索引的。通过引用索引编号来取回列表的值:

1 #!/usr/bin/env python
2 vendors = ["Cisco", "Arista", "Juniper"]
3 print(vendors[0])
4 print(vendors[1])
5 print(vendors[2])
6 
7 Cisco
8 Arista
9 Juniper

 

3.Tupe(元组)

元组类似于通过将值括在括号中创建的列表。与列表类似,元组中的值是通过引用其索引号来检索的。与列表不同,创建后无法修改值:

>>> datacenters = ("HuaBei1","BeiJing1","TianJin1")
>>> datacenters[0]
'HuaBei1'
>>> datacenters[1]
'BeiJing1'
>>> datacenters[2]
'TianJin1'
>>> datacenters[2] = "TianJin2"
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    datacenters[2] = "TianJin2"
TypeError: 'tuple' object does not support item assignment
>>> 

 4. 对于序列数据类型有些共性的操作如切片、打印序列的长度等

 1 #!/usr/bin/env python
 2 #string
 3 a = "netowrking is fun"
 4 b = "DevOps is fun too"
 5 c = """what about coding?
 6 ... super fun!"""
 7 print(a)
 8 print(b)
 9 print(c)
10 #list
11 vendors = ["cisco","Arista","Juniper"]
12 print(vendors[0])
13 print(vendors[1])
14 print(vendors[2])
15 #Tuples
16 datacenters = ("SJC1","LAX1","SF01")
17 print(datacenters[0])
18 print(datacenters[1])
19 print(datacenters[2])
20 
21 #slicing
22 print(a[1])
23 print(vendors[1])
24 print(datacenters[1])
25 print(a[0:2])
26 print(vendors[0:2])
27 print(datacenters[0:2])
28 #len
29 print(len(a))
30 print(len(vendors))
31 
32 执行结果如下:
33 netowrking is fun
34 DevOps is fun too
35 what about coding?
36 ... super fun!
37 cisco
38 Arista
39 Juniper
40 SJC1
41 LAX1
42 SF01
43 e
44 Arista
45 LAX1
46 ne
47 ['cisco', 'Arista']
48 ('SJC1', 'LAX1')
49 17
50 3

 查看序列的最小值和最大值

#!/usr/bin/env python
b = [1,2,9,4,0]
print(min(b))
print(max(b))

执行结果
0
9

 5. 毫无疑问,有各种方法只适用于字符串。值得注意的是,这些方法不会修改基础字符串数据本身,并且总是返回一个新的字符串。如果要使用新值,则需要捕获返回值并将其赋给其他变量:

#!/usr/bin/env python
a = "networking is fun"
print(a.capitalize())
print(a.upper())
print(a)
b = a.upper()
print(b)
print(a.split())
print(a)
b = a.split()
print(b)

执行结果如下:
Networking is fun
NETWORKING IS FUN
networking is fun
NETWORKING IS FUN
['networking', 'is', 'fun']
networking is fun
['networking', 'is', 'fun']

 6. 列表的一些常见方法:

列表是一个非常有用的结构,可以放入多个项目并对其进行迭代。例如,我们可以创建一个数据中心骨干交换机列表,并通过逐个迭代将相同的访问列表应用于所有交换机。由于列表的值可以在创建后修改(与元组不同),我们还可以在程序中扩展和对比现有列表:

#!/usr/bin/env python
routers = ['r1','r2','r3','r4','r5']
print(routers)
routers.append('r6')
print(routers)
routers.insert(2,'r100')
print(routers)
print(routers.pop(1))
print(routers)

执行结果如下:
['r1', 'r2', 'r3', 'r4', 'r5']
['r1', 'r2', 'r3', 'r4', 'r5', 'r6']
['r1', 'r2', 'r100', 'r3', 'r4', 'r5', 'r6']
r2
['r1', 'r100', 'r3', 'r4', 'r5', 'r6']

 

 

 

 

 

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯