‘’')
2、转义字符
转义字符是一种特殊的字符常量,在编程语言中,我们用转义字符表示不能直接显示的字符,比如换行键、后退键,回车键等。
转义字符总结
【\】+转义内容英文缩写首字母
转义字符 意义
\a 响铃(BEL)
\b 退格(BS),将当前位置移到前一列
\f 换页(FF),将当前位置移到下页开头
\n 换行(LF),将当前位置移到下一行开头
\r 回车(CR),将当前位置移到本行开头
\t 水平制表(HT)(跳到下一个TAB位置)
\v 垂直制表(VT)
\ 代表一个反斜线字符’’\’’
’ 代表一个单引号(撇号)字符
‘’ 代表一个双引号字符
? 代表一个问号
\0 空字符(NUL)
\ddd 1到3位八进制所代表的任意字符
\xhh 1到2位十六进制所代表的任意字符
注意:区分,斜杠’‘/’‘与反斜杠’‘’',此处不可互换。
3、变量和赋值
3.1、变量的命名规范
name=‘函数’,这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。
变量的命名规范:
1、只能是一个词。
2、只能包含字母、数字和下划线
3、不能以数字开头
4、尽量描述包含的数据内容
三、数据类型与转换
1、数据类型
1.1、字符串
字符串英文string,简写str。只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。(示例:‘函数’、‘hanshu’、'123’)
1.2、整数
整数英文为integer,简写做int。和我们数学课本中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。(示例:-1、1、0、1、2)
1.3、浮点数
浮点数的英文名是float,与整数(int)和字符串(str)不同,浮点数没有简写。(示例:-0.33、1.0、3.14156)
2、数据拼接
就是利用数据拼接符号【+】,将需要拼接的变量连在一起就行了。
2.1、type()函数
只需把查询的内容放在type()函数中的括号里就行。(示例:print(type(‘查询的内容’)))
2.2、数据转换
2.2.1、str() 函数
将其它类型转化为字符型,也可以用引号’',进行转化为字符串
例子:num=123,转化成字符串:str(num)或者num=‘123’
数据类型转换方法:
str():将其他数据类型转成字符串
int():将其他数据类型转成整数
float():将其他数据类型转成浮点数
2.2.2、int() 函数
将其它类型转化成整数型
注意:int函数不能将文字型字符串和浮点数字符串转换成整数型,只能将符合整数规范的字符串转换成整数。
(例如:'6好好’和’3.6’不能被int转化,'666’则可以被int转换)
2.2.3、float() 函数
将其它类型转化成浮点型
float()函数也可以将整数和字符串转换为浮点类型,(例如:float(3),float(‘3’))
四、条件判断
1、单向判断:if
a=6
#为a赋值
if a>=6:
#条件:如果a大于等于6
print(‘你可以吃蛋糕’)
2、双向判断:if … else …
a=6
#为a赋值
if a>=6:
#条件:如果a大于等于6
print(‘1’)
else:
#条件:如果a小于6
print(‘2’)
3、多向判断:if…elif…else…
a=6
#为a赋值
if a>=6:
#条件:如果a大于等于6
print(‘1’)
elif 4<a<5
#条件:如果a小于5大于4
print(‘2’)
else:
#其它
print(‘3’)
4、if 嵌套
historyscore=26
if historyscore>=60:
print(‘你已经及格’)
if historyscore>=80:
print(‘你很优秀’)
else:
print(‘你只是一般般’)
else:
print(‘不及格’)
if historyscore<30:
print(‘学渣’)
else:
print(‘还能抢救一下’)
print(‘程序结束’)
解析:该逻辑是为了判断历史成绩的分数,来决定输出的语句;首先先有两个大分支,一个是historyscore>=60分,一个是historyscore<60分,所以if historyscore>=60与else: print(‘不及格’)同级;然后在两个大分支中又各分两个分支,当>=60分时,下面的一个分支historyscore>=80,一个是其它(60~80),所以 if historyscore>=80:与else:print(‘你只是一般般’)同级。当else:print(‘不及格’)时,下面的一个分支是 historyscore<30,一个是else:print(‘还能抢救一下’),所以这两个同级
***注意:当碰到if条件嵌套时,先要理清谁与谁同级,谁是大分支,谁是小分支
五、input()函数的使用
例子:a=input(‘请铲屎官输入宠物的名字:’)
注意:运行后必须要在终端给input函数进行赋值
input()函数的使用:有问有答,有来有往,需要在终端处输入信息。
1、input()函数结果的赋值
函数好用,赋值第一,input()函数的结果必须赋值
2、input()函数的数据类型
例子:a=input(‘请铲屎官输入宠物的名字:’)
a的数据类型是字符串
返回类型,必为str,不管你在终端输入的是整数还是字符串,输入值必为字符串。
3、input()函数结果的强制转换
例子:a=int(input(‘请铲屎官输入宠物的名字:’))
a就变成了整数类型了
想要整数,源头转换,输入值需要整数时,input()函数结果需要强制转换。
六、Python相关知识了解
1、如何快速掌握Python?
阅读官方文档即可满足日常需求,官方文档有中文翻译,更加方便学习。但这些都是基础的语法和常见的模块,Python学习重要的是模块,快速、高效的开发依赖的是模块的应用,站在前人的肩膀会省时省力的多。
但学习Python其实最重要的是学习模块,而非语法本身,Python的语法十分简单,只要大学学过C或者数据结构课程,甚至完全没学过的人也是可以轻松掌握的。掌握了语法已经可以实现Shell的功能,但要想提高模块的学习必不可少,如运维人员经常用的有:
psutil:获取性能信息
socket:基本网络通信
IPy:IP地址相关处理
dnsptyhon:域名相关处理
difflib:文件比较
pexpect:屏幕信息获取,常用于自动化
paramiko:SSH客户端
XlsxWriter:Excel相关处理
其他还有很多很多功能模块,每天也不断的有新的模块、框架、组件产生,如用于与Java 做桥接的PythonJS,甚至Python还可以编写Map和Reduce。
2、Python是否可以完全代替Shell?
完全可以,Shell的功能Python均可实现,而且代码量更少、结构更优、可阅读性更好,而Python可实现的功能Shell却不一定能,如运维中会用到的用于网络通信的Socket模块、用于WEB的Django框架、用于性能采集的psutil模块等,而且Shell对操作系统的命令依赖性较强,Python可在更大程度上规避。
在一个Shell的IDE是个很大的问题,虽然Python的原生IDE不怎么样,但第三方的IDE还是功能十分强大的,虽然不能和微软的Virtual Studio相媲美,但也是能完全满足Python的开发需求的。
再说下Python的效率问题,Python支持多进程、多线程以及协程(比线程更小一级),程序并发度是在Shell之上的。Python的核心模块基本都是用C实现的,因此效率更高。如有必要也可能将需要用Python实现的Python模块用C重写以提高效率,当然也可以直接用C Python,一个直接完全用C实现的Python解释器。
3、Python是否可以访问常见的数据库?
可以,Python可以访问常见的各种数据库,如Oracle、MySQL、Vertica、SQLServer等,加载相应的模块即可,模块列表如下:
Oracle:cx_Oracle
MySQL:MySQLdb
4、Python开发是面向过程、函数还是对象?
Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python并不做硬性的限制。
Python的面向对象特征如下:
封装
面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程序= 数据结构+算法”被封装”掩盖“并简化为“程序=对象+消息”。对象是类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构建的而直接进行使用。
继承
类继承:
继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普通的类为基础建立专门的类对象,子类和它继承的父类是IS-A的关系。
多重继承:
不同于C#,Python是支持多重类继承的(C#可继承自多个Interface,但最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。
多态
多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈现出结果。在Python中,任何不知道对象到底是什么类型,但又需要对象做点什么的时候,都会用到多态。方法是多态的,运算符也是多态的。
5、Python是否有专用的IDE工具?
有,IDEL用Python实现的Python的IDE工具,但说实话,功能真心不咋地。我个人常用的IDE如下:
计算机网络
-
HTTP 缓存
-
你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
-
HTTP 常用的请求方式,区别和用途?
-
HTTPS 是什么?具体流程
-
三次握手和四次挥手
-
你对 TCP 滑动窗口有了解嘛?
-
WebSocket与Ajax的区别
-
了解 WebSocket 嘛?
-
HTTP 如何实现长连接?在什么时候会超时?
-
TCP 如何保证有效传输及拥塞控制原理。
-
TCP 协议怎么保证可靠的,UDP 为什么不可靠?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
算法
-
链表
-
字符串
-
数组问题
-
二叉树
-
排序算法
-
二分查找
-
动态规划
-
BFS
-
栈
-
DFS
-
回溯算法