1.起源
一次群里闲聊,加入了由阳光发起的 python 自动运维学习的群。起初,阳关死活不让我加入群,因为他知道我有一点编程的基础,觉的不适合一起学习。我硬是死皮赖脸的,让他把我拉到群里里面。
加群的第一天,阳关和我说了规则,具体规则如下:
我很慌,万一落下一次,我需要发一个 4 个人的 300 元红包,作为一次惩罚。因为钱少了,不会心疼。钱多了,反而起不到作用。300 元还是属于能接受的范围。
就这样我加入了这样的一个学习团队中去,目前群李只有四个,我、阳光、老李头、还有个记不得名的大佬。
2.学习总结
我学习的方式是按着《python 编程-让运维工作自动化》这边书,阅读,做习题的方式来的
2.1 书目大纲
第一部分 Python 编程基础
第 1 章 Python 基础
第 2 章 控制流
第 3 章 函数
第 4 章 列表
第 5 章 字典和结构化数据
第 6 章 字符串操作
第 7 章 模式匹配与正则表达式
第 8 章 读写文件
第 9 章 组织文件
第 10 章 调试
第 11 章 从 Web 抓取信息
第 12 章 处理 Excel 电子表格
第 14 章 处理 CSV 文件和 JSON 数据
第 15 章 保持时间、计划任务和启动程序
第 16 章 发送电子邮件和短信
第 17 章 操作图像
第 18 章 用 GUI 自动化控制键盘和鼠标
2.2 学习过程
1.Python 中的变量不需要声明.每个变量在使用前都***==必须赋值==***,变量赋值以后该变量才会被创建。这一点和 js 语法有点区别,注意区分
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
6 种数据类型
**> **Number(数字)
**> **String(字符串)
**> **List(列表)
**> **Tuple(元组)
**> **Sets(集合)
**> **Dictionary(字典)
Python3 支持 int、float、bool、complex(复数)。常见就是==int float bool==
可以通过使用 del 语句删除单个或多个对象,用逗号分隔
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。
列表和元组类似 javascript 中的 array
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
注意:
>>1、字典是一种映射类型,它的元素是键值对。
**>**2、字典的关键字必须为不可变类型,且不能重复。
**>**3、创建空字典使用 { }。
表达式是由 值和操作符组成的结合,所以的表达式都求值为一个值.
表达式需要有重新赋值才能改变变量的值
str(99)*3
>'999999'
#学习编程的一定会学的语句 ```
from lufeipython.Chapter1.user_input import name
print("hello Python!")
2+2 是表达式也称为归约
2**2 即 2 的 2 次方,也是表达式运算优先级最高的
% 取余数
有趣的是 python 的除法
三个除法的概念 传统除法/精确除法/地板除法
1、传统除法:整数相除结果是整数,浮点数相除结果是浮点数
2、精确除法:无论操作数是整数还是浮点数,得到的商总是真实结果,总是得到浮点数
3、地板除:无论操作数是整数还是浮点数,得到的商不保留浮点数的尾数
在 python2.6 版本中 4/2 是等于 2 的 只有 3 版本的时候结果是 2.0
_### 数据类型_1.整型(int)
2.浮点型(float)
3.字符串
用于字符串的时候表示复制 只能用于字符串和数字,不能用 strstr
比如"li"*5 输出 "lilililili"
变量名区分大小写
整数可以与浮点型的值相等
round 函数四舍五入取值
_### 布尔型_值只有 True/False
小写的会报错
比较操作符 比较两个值,求值为一个布尔值
布尔操作符
and 与 or 或 not 非 需要注意的话 这边和 javascript 以及其他部分语言有区别 || && !
_### 操作流的元素_操作流的元素开始部分通常为"条件",接下来是一个代码块
passwd: str = input()
if name == "mufengs":
print("hello mufengs")
if passwd == "233":
print("access granted")
elif passwd == "234":
print("good")
else:
print("wrong passwd")
### while 语句_### break 语句__###continue 语句_像 break 一样,continue 语句在 while 语句内部执行
_###for 循环和 round()函数_代码执行有限次数的时候选用 当然也有办法用 while 实现
类真类假的值可以让代码的可读性增强
等价于 for 的 while 循环方式
print('my name is')
o = 0
while o < 5:
print('Jimmy Five Times(' + str(o) + ')')
o = o + 1
range()的开始/结束/步长
如 range(0,10,2)
_### from import 语句_如 from random import *
用 sys.exit()提前结束程序
_## 第二章习题_等于操作符和赋值操作符的区别是什么
==是等于操作符,它比较两个值,求值为一个布尔值,而=是赋值操作符将值保存在变量中
Round 函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果
abs() 函数返回数字的绝对值。
_## 第三章函数_def() 参数是变元也就是其他语言中的变量
_### 3.3 None 值_在 python 中有一个值为 None,他表示没有值
a = print("1111")
print(a)
上面的例子可以明确的看出来 print 是不可以参与值的赋值运算的
print("23", end="...")
print("456")
23...456 #修改默认换行的
print('cats', 'dogs', 'mice', sep="...")
cats...dogs...mice sep 表示修改默认的分割符号,默认是空格
_### 3.5 局部变量不能在全局作用域下使用_如下例子所示
def spam():
eggs = 31337
spam()
print(eggs)
# Traceback (most recent call last):
# File "<input>", line 1, in <module>
# NameError: name 'eggs' is not defined
_### 3.6 global 语句_如果想在一个函数中修改全局变量中的存储的值,就必须对该变量使用 global 语句
_### 3.7 异常处理_try 和 except 语句
如下面的 try
_## 第三章小姐_函数是将代码逻辑分组的主要方式
_## 第四章列表_列表是一个值,它包含多个字构成的序列
在一个切片中,第一个整数是切片开始处的下标,第二个整数是切片结束处的下标
列表多重赋值
变量的数量和列表的长度必须严格相等,否则出现 ValueError
cat = ['name', 'age', 'weight']
name, age, weight = cat
类似列表 字符串和元组
元组 tuple (1,2,3)
列表 list [1,2,3]_###copy()和 deepcopy()_copy()可以用来复制列表和字典这样的可变值,而不只是复制引用
如果复制列表中包含列表,就需要使用 copy.deepcopy()这个函数来代替
_## 第五章 字典和结构化数据_字典类似与列表,但是没有下标
可以参考 js 的对象,区别是调用的时候一个用. 一个用[]
键值对输入的顺序不重要和列表的区别,列表的顺序是重要的
_## 第六章 字符串操作_多行注释可以使用 """ """
1.程序设计和数据结构
2.处理命令行参数
_## 第七章 模式匹配与正则表达式_强口令检测
2.3 学习心得体会
其实学习编程,以前什么都不知道反而好学一点,因为你会发现,在学习得过程中会不断得对比,哎在 xxx 语言中是这么用,python 中怎么不一样,有容易记混淆得可能性。打个比方,如 js 中得或与非,是用 || && !这些表示的,而在 python 中你需要用 or and not 来表示。你可以不在句子的结尾写;但是你的缩进一定要正确。这一个月,恶补了一些 python 的基础知识,比如元组,列表,字典等等。也写过一些简单的 python 程序,必须用 python 实现根据 isbn 号查书目信息,scrapy 爬取豆瓣分类书目信息等。今天是这个月的最后一天,继续加油!
3.下一阶段学习计划
准备基于 jumpserver 二次开发,加入 nginx 配置管理,数据库管理,svn 管理(虽然实现了,但是过于简单只是基于文件修改的)等功能
github 地址:https://github.com/mufengcoding/PythonOps
有想加入群聊一起学习的,可以加我微信 Do8080
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于