运维最新运维Python大全_python运维(3),架构师花费近一年时间整理出来的Linux运维核心知识

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

yum -y install gcc gcc-c++ zlib-devel openssl-devel readline-devel libffi-devel sqlite-devel tcl-devel tk-devel
wget https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz
tar zxf Python-3.8.13.tgz
cd Python-3.8.13
./configure --prefix=/usr/local
make&&make install


**安装 Pycharm**  
 Pycharm 设置中文


1. baidu.com search Pycharm2017.3 汉化包
2. 下载resource\_cn.jar
3. 把resource\_cn.jar 拷贝到/root/bin/pycharm2017/lib中
4. 如果经过第三步,仍然是英文界面,可以将lib目录中的resource\_en.jar先剪切到别处
5. 启动Pycharm,将报错
6. 关闭pycharm后,把resource\_en.jar再拷贝进去




---


**Pycharm使用**  
 加注释 : 选择行数 crtl +? 去掉注释:crtl+?  
 ; 允许同一行但不推荐




---


### Python syntax


**例如**;  
 **分开写**  
 a=3  
 b=4 推荐 这种写法


**一行写**(不推荐)  
 a=3;b=4 # 不推荐,可读性差  
 Python中 “字符串” 必须有引号,单双引号表示相同的含义,  
 如果不加引号,Python会把它当成一个名称,如果该名称没有定义将会报错



print(‘hello world’) #语句各项之间默认用空格分隔
print(‘hello’,‘world’)
print(‘hello’,‘world’,sep=‘***’) #语句各项之间也可以自定义分隔符
print(‘hello’+‘world’) #字符串可以使用+进行拼接
print(‘hello world’,end=‘AAA’) #print语句默认最后加入一个回车\n,可以用end来自定义结束

username = input(‘请输入用户名:’)
print(‘欢迎登录’,username)
print(‘欢迎登录’+ username)


  

  

#### 标题 合法的变量名,有三个要求


1. 首字符必须是字母或下划线
2. 其他字符可以是字母、数字或下划线
3. 区分大小写


#### 1. 推荐采用的全名方法


-变量名全部采用小写字母  
 -简短、有意义  
 -多个单词间用下划线分隔  
 -变量名用名词,函数名用谓词(动词+名词)  
 -类名采用驼峰形式


n=n+1 或者n+=1 n\*=1 #等价于n=n\*1  
 赋值语句自右向左运算,首先取出n的值,再计算n+1的值得到11,最后11赋值给n


#### 2. 标准算术运算符 + - \* / // % \*\*


5/2 值为2.5  
 5//2 值为2 取整除 - 返回商的整数部分(向下取整)  
 5%2 值为1 求余,也被称作模运算,结果为1  
 2\*\*3 值为8 2的3次方,乘方、幂运算


#### 3. 比较运算符


< <= > >= == != <>  
 10<20<30 支持连续比较  
 10<20>15 相当于10<20 and 20>15 不推荐10<20>15这样的写


#### 4. 逻辑运算符


and not or  
 and 两边为true  
 not 假变正  
 or 一个为正就为正



今天写到 print() input()
https://www.jianshu.com/ 搜索“ python百例 " 从下面开始做 1-5



print(‘hello world!’)
if 3>0:
print(“ok”)
print(“yes”)
x = 4
y = 5



print(“hello world!”)
print(“hello”,“world!”) # 逗号自动添加默认的分隔符:空格
print(“hello”+“world”) # 加号表示字符拼接
print(“hello”,“world”,sep=“***”) #单词间用 *** 分隔
print(“#” * 50) # *号表示重复50遍
print(“how are you?”,end=“”) # 默认print会打印回车,end=“ ” 表示不要回车

number = input("请输入数字: ") # input用于获取键盘输入
print(number)
print(type(number)) # input获得的数据是字符型
print(number + 10) # 报错,不能把字符和数字做运算
print(int(number) + 10) # int可将字符串10转换成数字10
print(number + str(10)) # str将10转换为字符串后实现字符串拼接


  

################################################################################################


### 一 、python 数据类型


#### 1. 数字


(1)int整数(有符号整数,没有小数点)  
 (2)bool布尔值 :Ture/false Ture=1 , false=0  
 (3)float浮点数:有小数点  
 (4)complex复数:共轭复数  
 对于整数,没有任何前缀Python默认识别为10进制数  
 以0o开头表示8进制,0b开头表示2进制 , 以0x开头表示16进制


#### 2. 字符串


在引号中一系列字符,单双引号没有区别  
 三引号:三个连续的单引号或者双引号。它能够保存输入的格式,允许多行输入


#### 3.字符串切片


下标和切片操作  
 第一个字符索引是0 ,最后一个字符的索引是-1  
 索引下标运算符[ ] 切片运算符[:] [::2] 表示步长值



py_str=“Python”
len(py_str) #查询长度
print(“len(py_str)”) #打印py_str变量的长度
py_str[0] #下标从0开始"Python"[0] 意义一样
print(py_str[0]) #可以截取字符串第一个字符
py_str[6] #索引超出范围,报错
py_str[len(py_str) -1] #字符串总长度减一,得到最后一个字符的下标
py_str[-1] #也可以得到最后一个下标

py_str[2:4] #表示下标包含,结束下标不包含
py_str[2:6] 得到 ‘thon’
py_str[2:600] #下标超出范围,切片不报错 ‘thon’
py_str[2:] #结束下标不写,表示取到结尾
py_str[0:2] 得到‘py’
py_str[:2] 得到 ‘py’ #开始下标不写,表示从开头开始
py_str[2:5] 得到 “tho” #从2开始到5结束 5-2=3
py_str[::2] 得到 “pto” #表示步长值是2
py_str[1::2] 得到 “yhn” #从1开始步长值是2
py_str[::-1] 得到 “nohtyp” #表示从右向左取步长值为-1

py_str + " is cool" #+号表示简单拼接
print(py_str + " is cool" ) 得到 Python is cool
“*” * 50 # *号重复50次
print(“*” * 50) 得到 **********************************
print(py_str * 3) 得到 PythonPythonPython

“t” in py_str
print(“t” in py_str ) 得到 True
“to” in py_str
print(“to” in py_str ) 得到 False
print(“to” not in py_str ) 得到 True




---


#### 4. 列表


可以将列表当成普通的“数组" ,它能保存任意数量,任意类型的Python对象  
 列表: 它是一个容器,可以存放各种数据


**列表**



alist = [10 ,20 ,“li” ,“da”,[1,2]]
print(len(alist)) 得到5
alist[2:4]
print(alist[2:4]) 得到 [“li”,“da”]
alist[-1] =100 #列表项可以重新赋值
print(alist) 得到[10,20,“li”,“da”,“100”]
alist.append(200) #向列表尾部增加一项
print(alist) 得到 [10,20,“li”,“da”,“100”,“200”]


#### 5. 元组


相当于是静态的列表,它的项目不可变



atuple =(10,20,“li”,“da”)
atuple[-1]
print(atuple[-1]) 得到 da
atuple[0] =100 #报错,元组不能修改


#### 6. 字典


**采用key**:val 对存储的数据类型,key不能重复



adict={
“name”:“大锤”,“age”:18}
adict[“name”] # 通过key取出value
print(adict[“name”]) 得到 大锤
18 in adict 得到 Flase
“age” in adict 得到True
adict[“sex”]=“female” #key不在字典中则增加一项
print(adict) 得到{
“name”:“大锤”,“age”:18,“sex”:“female”}
adict[“age”]=20 # age已是字典的key,修改age的值
print(adict) 得到{
“name”:“大锤”,“age”:20,“sex”:“female”}


—————————————————————————————


**按数据类型比较** -----------------------重要、必须背下来  
 按存储模型分类  
 -标量类型 : 数值、字符串 标量:只有一种类型,不能存储其他类型。数字、字符串  
 -容器类型:列表、元组、字典 容器:能包含各种数据。列表、元组、字典


**按更新模型分类**  
 -可变类型:列表、字典  
 -不可变类型:数字、字符串、元组


**按访问模型分类**  
 -直接访问:数字  
 -顺序访问: 字符串、列表、元组  
 -映射访问:字典




---


**例如:**



alist = [10 ,20 ,“li” ,“da”,[1,2]]
blist = alist
blist.append(30)
print(alist) 得到[10 ,20 ,“li” ,“da”,[1,2],30]
print(blist) 得到 [10 ,20 ,“li” ,“da”,[1,2],30] 变得一样所以写程序容易出现bug

blist=alist.copy()
blist.append(30)
print(alist) 得到[10 ,20 ,“li” ,“da”,[1,2]]
print(blist) 得到 [10 ,20 ,“li” ,“da”,[1,2],30]




---


### 二、判断语句


#### 1. if 判断



words = “tom\njeff\njay\nmikes”
if “tom” in words :
print(“yes”)
if “tom” not in words :
print(“not in”)
else:
print(“tom in words”)

if -0.0 :
print(“0k”) #任何值为0的数字都是False,非0为True //这里不打印

if -0.01 :
print(“-0.01 is ok”) #这里可以打印True

if ’ ’ :
print(“space is true”) #任何非空对象都是True ,空位False ,打印
if ‘’ :
print(“空字符串是False”) #False不打印
if None:
print(“None也是False,表示空”) #False不打印




---


**判断合法用户**


1. 创建login2.py
2. 提示用户输入用户名和密码
3. 获取相关信息后,将其保存存在变量中
4. 如果用户的用户名为bob,密码为123456,则输出Login successful,否则输出Login inorrect


###############################################################################################


#### 2. while循环


**判断合法用户**


1. 创建login2.py文件
2. 提示用户输入用户名和密码
3. 获取相关信息后,将其保存在变量中
4. 如果用户输的用户名为bob,密码为123456,则输出  
 Login successful ,否则输出Login inorrect



import getpass #导入名为getpass 的模块
username = input(“username:”)
password = getpass.getpass(“password:”)

if username == “bob” and password == “123456” :
print(“Login successful”)
else:
print(“Login inorrect”)




---



import random
number = random.randint(1,100) #生成1-100间的随机数字,包含1和100
print(“number ->”,number)
answer = int (input(“猜数1-100:”)) #将用户输入的字符数字转成真正的int数字

if answer > number:
print(“猜大了”)
elif answer< number:
print(“猜小了”)
else:
print(“猜对了”)




---



import random
number = random.randint(1,100)
while True:
answer = int(input(“\033[34;1m猜数1-100:\033[0m”))
if answer > number :
print(“\033[34;1m猜大了\033[0m”)
elif answer <number:
print(“\033[34;1m猜小了\033[0m”)
else:
print(“\033[31;1m猜对了[\033[0m”)
break




---



import random
all_choise = [‘石头’, “箭头”, “布”]
win_list = [[‘石头’, ‘剪刀’], [‘布’, ‘石头’], [‘剪刀’, ‘布’]]

prompt = “”“1.石头
2.剪刀
3.布
请出拳(0/1/2):”“”

computer = random.choice(all_choise)
index = int(input(prompt))
player = all_choise[index]
print(“你的出拳:”, player, “计算机出拳:”, computer)
if player == computer:
print(“\033[32;1m平局\033[0m”)
elif [player, computer] in win_list:
print(“\033[35;1m你赢了\033[0m”)
else:
print(“\033[31;1m你输了\033[0m”)




---



import random
tries = 0 #设置计数器,用户最多猜3次
number = random.randint(1,10)

while tries<3:
answer = int(input(“猜数(1-10):”))
if answer > number:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值