6、python基础语法——数据类型之字符串

字符串
整数和浮点数
列表
字典
布尔类型
集合,元组,空值

对网络工程师来说,常用的数据类型有字符串(String)、整数(Integer)、列表(List)、字典(Dictionary)、浮点数(Float)、布尔(Boolean)。
1、字符串
字符串即文本,可以用单引号’’、双引号""和三引号’’’ ‘’'表示。
1.1、单引号和双引号
单引号和双引号不可以混用。

>>> a='huawei'
>>> b="cisco"
>>> c='h3c"
  File "<stdin>", line 1
    c='h3c"
          ^
SyntaxError: EOL while scanning string literal
>>> c='h3c'
>>> print(a)
huawei
>>> print(b)
cisco
>>> print(c)
h3c

除了使用 print()函数,我们还可以在解释器里直接输入变量名来获取它的值,这是编辑器交互模式下特有的,脚本模式做不到。
变量中存在换行符\n,则 print 会执行换行动作,但如果在解释器里直接输入变量名,则解释器会把换行符\n 当作字符串内容的一部分一起返回:

>>> banner="\n\n welcome to openlab.com \n\n"
>>> print(banner)


 welcome to openlab.com


>>> banner
'\n\n welcome to openlab.com \n\n'

还可以通过加号+来拼接(Concatenate)字符串:

#!/usr/bin/env python3.8
# coding=utf-8
# 网络工程师,数据中心工程师
a="路由器的接口地址为"
b="192.168.1.254"
print(a+b)

[root@localhost ~]# ./1.py
路由器的接口地址为192.168.1.254

注意,在使用加号+将变量拼接合并时,如果其中一个变量为字符串,那么其他所有要与之拼接的变量也都必须为字符串,否则 Python 会报错.

#!/usr/bin/env python3.8
# coding=utf-8
# 网络工程师,数据中心工程师
a="网段192.168.1.0/24下有"
b=200
c="个用户"
print(a+b+c)
[root@localhost ~]# ./1.py
Traceback (most recent call last):
  File "./1.py", line 13, in <module>
    print(a+b+c)
TypeError: can only concatenate str (not "int") to str

两种修改方式

#!/usr/bin/env python3.8
# coding=utf-8
# 网络工程师,数据中心工程师
a="网段192.168.1.0/24下有"
b="200"
c="个用户"
print(a+b+c)
[root@localhost ~]# ./1.py
网段192.168.1.0/2460个客户
#!/usr/bin/env python3.8
# coding=utf-8
# 网络工程师,数据中心工程师
a="网段192.168.1.0/24下有"
b=200
c="个用户"
print(a+str(b)+c)
[root@localhost ~]# ./1.py
网段192.168.1.0/24200个客户

1.2三引号
三引号形式的字符串通常用来表示内容较长的文本文字,它最大的好处是如果遇到需要换行的文本,文本内容里将不再需要用到换行符\n。

>>> aaa='''---------------------------------------------
...
... Warning: You are connected to the Cisco systems, incorporated network.
... Unauthorized access and use of this network will be vigorously prosecuted.
...
... ----------------------------------------------------'''
>>> print (aaa)
---------------------------------------------

Warning: You are connected to the Cisco systems, incorporated network.
Unauthorized access and use of this network will be vigorously prosecuted.

----------------------------------------------------

1.3与字符串相关的方法与函数
upper是将字符串内容里小写的英文字母转换为大写的英文字母。
lower是将字符串内容里大写的英文字母转换为小写的英文字母。
strip()用来在字符串的开头和结尾移除指定的字符(如字母、数字、空格、换行符\n、标点符号等)。如果没有指定任何参数,则默认移除字符串开头和结尾处的所有空格和换行符\n。

>>> ip="       192.168.10.1   "
>>> ip.strip()
'192.168.10.1'

>>> ip="192.168.10.1\n"
>>> ip
'192.168.10.1\n'
>>> print(ip)
192.168.10.1

>>> ip.strip()
'192.168.10.1'

count()用来判断一个字符串内容里给定的字母或数字具体有多少个。

>>> "3.1415926535".count("9")
1

len()用来判断字符串内容的长度

>>> a="3.1415926535"
>>> len(a)
12

split()将字符串转换成列表,join()将列表转换成字符串。
input()的返回值是字符串,提示用户输入数据与 Python 程序互动。

网络工程师如何在网络运维中使用 split()和 join()。
举例来说,在大中型公司里,IP 地址的划分一般是有规律可循的,某公司有一栋10层楼的建筑, 一楼的IP子网为 192.168.1.0/24, 二楼为192.168.2.0/24,三楼为192.168.3.0/24,依此类推。现在你需要做个小程序,让用户输入任意一个属于公司内网的 IP 地址,然后让 Python 告诉用户这个 IP 地址属于哪一层楼。思路如下:
因为该公司内网 IP 地址的第一段都为 192,第二段都为 168,第四段不管用户输入任何 IP 地址都不影响我们对楼层的判断。换句话说,我们只能从该 IP 地址的第三段来判断是哪一层楼,但是我们要怎样告诉 Python 去判断哪一个数字属于 IP 地址的第三段呢?这时就可以用 split()将用户输入的 IP 地址(字符串)转化成列表,然后通过列表的索引来指向 IP 地址的第三段,代码如下:

>>> floor1 = "192.168.1.1"
>>> floor1_list = floor1.split(".")
>>> print (floor1_list)
['192', '168', '1', '1']
>>> floor1_list[2]
'1'

先将’192.168.1.0’赋值给 floor1 这个变量,再对该变量调用 split()方法,然后将返回值赋给另一个变量 floor1_list,注意 split()括号里的“.”表示分隔符,该分隔符用来对字符串进行切片,因为 IP 地址的写法都是 4 个数字用 3 个点“.”分开,所以这里分隔符用的是“.”,因为 split()的返回值是列表,所以我们 print floor1_list 后可以看到,IP 地址的四个数字已经被切片独立开来,分别成为组成 floor1_list 列表的四个元素的其中之一,之后我们就可以通过 floor1_list[2]这种索引的方式来查询该列表的第三个元素,从而得到IP 地址的第三段的数字了,也就是这里的数字 1。

#!/usr/bin/env python3.8
# coding=utf-8
# 网络工程师,数据中心工程师
ip = input("请输入要查询的IP地址:")
ip_list=ip.split(".")
print("该IP地址输入"+ip_list[2]+"楼")
[root@localhost ~]# ./1.py 
请输入要查询的IP地址:192.168.3.1
该IP地址输入3

join怎么用

commands=["enable","config terminal","interface fastethernet0/1","no shutdown"]

以上是思科产品最基本的命令,但是发现少了回车,可以使用 join()将换行符\n 加在每条命令的末尾,注意 join()的返回值是字符串。

>>> "\n".join(commands)
'enable\nconfig terminal\ninterface fastethernet0/1\nno shutdown'

把之前的列表 [‘192’, ‘168’, ‘1’, ‘0’]转换回字符串’192.168.1.0’,可以采用如下做法:

".".join(["192","168","1","100"])>>> 
'192.168.1.100'

startswith(),endswith(),isdigit(),isalpha()
以上四个函数的返回值都是布尔值,Ture,False,且首字母必须大写
startswith(),用来判断字符串的内容是否以给定的字符串开头

>>> ip="192.168.1.1"
>>> ip.startswith("17")
False
>>> ip.startswith("19")
True

endswith()与 startswith()恰好相反,用来判断字符串的内容是否以给定的字符串结尾

>>> ip="172.16.1.1"
>>> ip.endswith(".1")
True

isdigit()就是用来判断字符串的内容是否为整数的

>>> aaa="cisco"
>>> aaa.isdigit()
False

isalpha()用来判断字符串的内容是否为英文字母

>>> aaa.isalpha()
True

注意,isalpha()很严格,只要字符串的内容出现了哪怕一个非英文字母,isalpha()就会返回 False,比如’Parry Wang’(包含了空格)、‘Parry_Wang’(包含了下划线)等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值