python基础大杂烩

//取商

**次幂

linux写python也很好用,省的中英文转换

比较运算符的结果是一个布尔型 true false

true通常会被转为数字1

字符串的比较比较的是字符编码,比如utf-8

python里面是and or

不支持&& ||

= 是赋值运算符

python里面区分大小写,不区分单双引号

python里面的None相当于mysql里面的NULL

字符串的切片

列表也是一个容器:可以存储一组值

列表:可以存储一组值

普通的变量只能存储一个值

列表可以存储一组值

每一个值是一个数据,每一个值也叫一个元素

一个列表可以说有三个元素,每一个元素里面就是一个值

列表就叫一个容器,一个容器里面可以放很多元素,而且是不同种类的

比如字符串、数字、bool

java里面把列表叫数组

在python里面叫列表

列表一般情况下是用来存储相同类型的一组数据

列表的元素有下标,字符串也有下标

列表定义

列表元素的访问

往列表中添加元素

一个模块就是一个工具箱

random是随机模块

random.choice(['石头','剪刀','布']) # choice这个方法,可以随机获取列表的一个元素

random.choice('0123456789') # 获取随机数

while 循环和 if判断可以结合起来一起用,

比如打印1-100之间的全部偶数

i = 1

while i <= 100:

if i%2 == 0:

print(i)

i += 1

random.randint

其中的randint是 random + integer 随机整数

for 循环可以迭代列表、字符串、和range(范围)

range(1, 10)包括1,不包括10

len()函数,是统计队列的长度,这个队列包括列表的元素和字符串中的字符

用来获取列表长度

往列表中追加,用append()函数

列表的拼接, 列表1+列表2+列表3

sequence 序列,队列

for循环里面也是有break continue else

continue会循环结束

break 不会循环结束

只有把所有元素都执行一遍,才会执行else

切片的时候,如果是从0开始,那么0可以不写

for 循环往往结合着range

for 循环比while循环使用的频率要高,range有很大的功劳

range也支持步长

for i in 可迭代对象:

try

...

except ValueError

f 是format,允许在字符串中嵌入表达式

字符串操作函数和字符串操作方法

字符串操作在任何语言下,都是使用频率比较高的操作

函数

函数在程序里面就表示一个功能

len()/int()/float()/type()...

python提供的

调用以上的函数

系统函数/内建函数

自定义函数

解决代码重复的问题

通过函数名称加上圆括号()调用函数

参数: 往函数中所传递的数据

形参和实参

把实参给到形参,这个过程就叫传参

位置参数: 按照参数顺序传递

关键字参数: 按照参数名称传递

关键字传参的话不受顺序影响

运维用的大部分命令行,差不多都是关键字传参,像k8s的etcd数据库的备份与恢复

返回值,函数调用后返回的结果,如果没有返回值,默认就是None

那么像运维过程中,代码执行后的返回值,一般就设置为,执行ok的话,就是返回值是0,如果有报错的话,返回值就是1。这里说错了,是退出码,不是返回值

返回什么值,函数里面就保存什么值

return

return 有两个结果,一个是返回结果,一个是终止函数

如果return单写,就是结束函数的意思,并不是为了返回结果

return返回值的目的,是为了再次使用它,如果不用return,而用print,就不能再使用了

有了参数以后,可以强化函数的功能

模块就是一个工具箱

choice就是random模块内部提供的一个函数

random,string模块,是python的内嵌模块

是python解释器的库里面的内嵌模块

可以直接导入进来使用的模块

模块就是一个python文件

模块里面有很多变量,已经定义好的,可以直接使用

导入一个模块,就是导入了一个工具箱

这个模块里面有很多的函数和变量

模块:就是一个python文件

导入模块后,可以使用模块中提供的函数或者变量

导入模块的目的,就是使用模块中的函数或者变量

python里面,一共有三种模块

ansible里面用了各种各样模块,也跟这个差不多是一个意思,因为ansible也是python写的

pip3 install xxx # 安装第三方模块

from 模块 import 函数和变量

strftime string format time 格式化 把时间格式化成字符串(年月日时分秒)

strptime string parse time 语法分析 把字符串转成结构化时间,一堆英文

结构化时间 一堆英文 struc_time 9个元素的元组

字符串 年月日时分秒 时间的字符串表示形式 用于显示

时间戳 十几亿 计算机元年到现在的秒数 用于存储、传输

按照长度读取文件

按照行读取文件

读取文件,如果文件大,用while循环,因为不占用内存

如果文件不大,可以用for循环,因为for循环是先把这个文件的数据拉到内存中的

读取文件的流程

1. 打开文件

2. 用循环去读

3. 关闭文件

时间的比较,可以用格式化时间的格式比较,也可以用时间戳的格式比较

encoding 使编码

enable 使能够

文件操作:打开文件,读、写,循环读,然后写,完成文件拷贝

容器

什么是容器

是存数据的

变量也可以存数据,所以变量也是一种容器

变量只能存储一个数据

如果要存储一组数据,要用列表

列表可以作为一个数据哦让你去,存放一组数据

.append('元素') 是往列表的最后添加

.insert(2,'小鹏') 是往指定下标位置插入

.extend(['', '']) 是扩展多个元素

.remove(‘元素’) 删除

.pop(下标号) 删除

.pop() 默认删除末尾元素

.clear() 清空列表

del 列表名[下标号] 删除元素

len(列表名) 获取列表长度

.count('元素') 统计指定元素的数量

列表是使用python的时候,操作频率最高的一种数据

元祖是和列表很相似的一种容器

定义元祖用()圆括号

定义列表用[] 方括号

定义字典用{} 大括号

通过类创建对象

通过class 创建 object

类的对象的属性

每个对象中,都有自己的独立的属性

用self解决,不同对象的调用各自属性的问题

属性和方法

方法是函数

属性是变量

类有一个,对象可以有多个

不同对象的属性,可能各不相同,就是各个对象是独立的个体,每个对象有自己的样子

类中定义的方法和属性

方法就是函数

属性就是变量

面向对象编程中,类和对象的关系

上一篇:QT 控件大小的自适应(重写resizeEvent方法)