前言
现在对网工的要求越来越高,网工从重复工作也越来越繁琐,包括华为HCIE也需要对Python进行考察,但是Python这么多个库,编程这么多的知识我们要全部学习吗?所以本文主要是更具网工的需求写的一篇干货的文章,希望大家可以无痛的上手Python。
上一篇已经初步介绍了Python的基本语法和一些背景,主要由自带库、编译器、第三方库、变量、数据类型等组成,本次主要介绍:输入输出、列表、字符串、字典(重点)进行主要讲解。
1、输入输出
Python有许多的函数可以使用,用到的最多的就是print()、input(),基础语法:
print(要输出的内容)
input(要输出的内容,内容来自于键盘)
运行代码:
print(“这是print的输出”)
n = input(“请输入让input输出的内容:”)print(n)
输出结果:
这是print的输出
请输入让input输出的内容:hello
hello
2、变量
变量由 (变量名)( = )( 变量 )三部分组成 。
变量名命名要求:
- 合法的标识符:字母(a-z),数字(0-9)(不能开头),下划线( _ ),不要使用中文
- 大小写敏感。
- 不能使用关键字和保留字。(关键字: if while for as import;保留字:input,print range)
- 没有长度限制。
- 望文生义,看到名字就知道要表达的意思。
- 大小写:
举例:
1. 包名:全小写,例如:switch
2. 类名:每个单词的首字母大写,其他的小写,简称大驼峰命名,例如 HelloSwitch ;
3. 变量名/函数名:第一个单词的首字母小写,后面的单词的首字母大写,简称小驼峰命名,例如 helloSwitch ;
4. 常量:全大写,例如 SWITCH 。5. 数字:SWITCH1
6. 下划线:Hello_Switch
3、数据类型
在Python中没有需要严格定义的数据类型,对于数据类型的使用上也没有想C语言那样严格,所有大家不需要太担心Python中会出现数据类型的错误,但是不推荐这样滥用数据类型,因为有一些第三方库的使用中,也会对数据类型进行定义,以后会提起
(1) 整型:整数,int ,例如 5 的数据类型就是整型。
(2) 浮点型:小数, float ,例如 0.1就是1个浮点型数据,简单的理解为小数。
(3) 字符串:str(重点)
初学者可以泛泛的理解,所有的数据类型其实都是字符,但是上述的整数和浮点数,是可以进行数学公式计算的一些数据类型,而字符串,则类似于拼图,本身不可以进行数据的计算,这在网工中使用的比较多。
表现形式有4种:单引号、双引号、三引号,'switch' 、 "switch" 、 '''switch'''
注意:
单引号和双引号,'switch' 和 "switch",表达的意思是一样的,表达的都是这一行是一串字符,但是要前后一致,不可以前面是带引号后面双引号,反之同理。
要表示多行的字符串,就要使用三引号
三引号有个特殊功能,表示注释,跟 # 一样的功能,例如:
""" 这是字符串的开始 switch 这是字符串的结束 这里面的都是字符串内容 """
(4)布尔类型:bool,True为真,False为假;1表示真,0表示假。
(5)None 是一个单独的数据类型,表示为:空。
(6)列表、元组、字典、集合也是常见的数据类型。
4、运算符
运算符可以分为很多4类。
(1)数学运算符
+(加),-(减),*(乘),/(除)等
(2) 赋值运算符
常用赋值运算符是 = ,等号右边的值赋值等号左边
例子:
a = 1
b = 2
print(a)print(b)
print(a+b)
执行结果:1
2
3
连续赋值:a=b=c=d=10
(3)布尔运算法
== (等于),!=(不等于) >=(大于等于) <=(小于等于) >(大于) <(小于)
(4) 逻辑运算符
主要有not、and和or三类,又称非、与和或
and:前后都为真则为真
or:有一个为真则为真
not:非真,非假
例子:
a = 10
b = 20
c = 30
d = 40
n1 = a > b and a < c #a>b为假,a<c为真,假与真为假
n2 = not a < c #a<c为真,非真则为假
n3 = a > b or a < c #a>b为假,a<c为真,假或真为真
print(n1,n2,n3)
结果:
False False True
5、格式化输出
式化输出是指将字符串按照某种格式进行输出,常用的方法有 format 和 $% 。
在我们的日常工作中有许多的字符串需要再特定的位置插入特定的字符或者数字,这就需要用到本章节的知识
1. format 语法1:用数字占位(下标)
a = “Huawei”
s = "{0},{1},{2}"
s2 = s.format(a, "S5700", "交换机")
print(s2)
Huawei,S5700,交换机
还有一种不同的表达方式,但是效果一样
s = "{a},{b},{c}, HCIE "
s2 = s.format(b="Huawei", a="交换机", c="S5700 ")
print(s2)
2.%s 语法为 “%s” %(替换值) ,最常用的参数可以是任意值。
“%s”%(替换值)
s3 = "%s,%s,%s, HCIE " % ("Huawei交换机","CE",12800)
print(s3)
6、转义字符
在电脑里文件目录里有“ \ ”用来表示一个文件夹的名字,但是在代码中“ \ ”大部分是——转义符
1. \n :换行符,换一行·
2. \' : 单引号,最后输出的只有一个单引号
3. \“ : 双引号,最后输出只有一个双引号
4. \\ : \ ,表示单纯的斜杠
print("交换机:\n 华为S5700")
print("交换机:\'华为CE12800\'")
print("交换机:\" 华为S5700\"")
print("交换机:\\ 华为CE12800\\")
运行结果:
交换机:
华为S5700
交换机:'华为CE12800'
交换机:" 华为S5700"
交换机:\ 华为CE12800\
在这里值得注意的是 \ ,它有很多比较巧的运用,比如说当你在同一行要写的东西比较多的时候,视觉上不是很好看,可以用反斜杠来进行视觉上的换行,但上一行和下一行在逻辑上是一样的,
print("交换机:\
华为S5700")
a = 1 + 1 \
+ 3
print(a)
运行结果:
交换机:华为S5700
5
7、字典(dict)
字典是比较重要的一个学习重点,在之后的netmiko中会大量的用到,所以一定要学好什么是字典,字典因该如何使用,有哪些函数控制字典
字典是用来存储有序数据的,字典的数据以1:1的映射关系
7.1 字典的特点
1. 字典是Python中唯一的映射关系类型
2. 字典是无序的
3. 字典是可迭代对象
4. 字典的构成
键:key
值:value
映射:键映射值
键-值:键值对,又叫 项
7.2 创建字典
1. 直接创建
语法: a = {} #空字典
例如: a = {"name":"Huawei","IP":"10.1.0.6"}2. dict()
例如:d = dict() #空字典
3. dict(可迭代对象)
dict = {"command": "display this"}
7.3 字典的访问
基本形式: 变量名[键名] #键所对应的值
d = {"name": "华为"}
print(d["name"])
1. 字典可以使用for循环
for i in d2:
print(i) #键,不包含值
2. 输出一个键值对
for i in d2.items():
print(i)
3. 成员关系操作符
in/not in
只能查询键
参考链接:https://blog.csdn.net/zhiguigu/article/details/120217658