1. 内置函数

# ### 内置函数
# abs 绝对值函数
res = abs(-10)
print(res) # round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!) 奇进偶不进
res = round(13.56)
res = round(4.5)
res = round(5.5)
res = round(4.53)
res = round(4.9)
print(res) # sum 计算一个序列得和
tup = (1,2,3,43,5,6,6)
res = sum(tup)
print(res) # max 获取一个序列里边的最大值
tup = (1,2,3,43,5,6,6)
res = max(tup)
print(res) # max的高阶函数使用
def func(n):
# print(n) # 参数是一个个的元组 ('林明辉', 58)
return n[1] # 33 58 99 -8 lst = [("常远",33),("林明辉",58),("李德亮",99),("李诗韵",-8)]
res = max(lst,key=func)
print(res) # min 获取一个序列里边的最小值
tup = (1,2,3,43,5,6,6)
res = min(tup)
print(res) # min的高阶函数使用
dic = {"任鹏伟":60,"宗永玲":59,"黄乐锡":90,"李诗韵":-7}
def func(n):
# print(n) # 参数是字典的键
return dic[n] # 通过键返回值 , 通过值排序,找出最小值对应的键 res = min(dic,key=func)
print(res) # pow 计算某个数值的x次方
res = pow(2,3)
"""前两个数运算的值 在和第三个数取余"""
res = pow(2,3,3)
# res = pow(2,3,4)
print(res) # range 产生指定范围数据的可迭代对象
for i in range(3):
print(i) for i in range(1,5):
print(i) for i in range(1,10,3):
print(i) # bin 将10进制数据转化为二进制
res = bin(255)
print(res) # oct 将10进制数据转化为八进制
res = oct(255)
print(res) # hex 将10进制数据转化为16进制
res = hex(255)
print(res) # chr 将ASCII编码转换为字符
res = chr(97)
print(res)
# ord 将字符转换为ASCII编码
res = ord("a")
print(res) # eval 将字符串当作python代码执行
strvar = "print('我是大帅锅')"
print(strvar)
eval(strvar) # eval 有局限性,不能创建变量的
# strvar = "a=5"
# eval(strvar)
# exec 将字符串当作python代码执行(功能更强大) 谨慎使用,存在安全隐患
strvar = "a='文哥真帅!'"
exec(strvar)
print(a) """
# 复习
dic = globals()
print(dic)
dic["wangwen"] = "宇宙第一男人"
print(wangwen)
"""
strvar = """
for i in range(5):
print(i)
"""
exec(strvar) # repr 不转义字符输出字符串
strvar = "D:\nabc"
res = repr(strvar)
print(res) # input 接受输入字符串
# name = input("先森,你妈贵姓?")
# print(name) # hash 生成哈希值
"""
(1) 可以加密密码
(2) 哈希值可以校验文件
"""
# 相同的字符串,无论哈希多少次,都是相同的哈希值
strvar1 = "abc"
strvar2 = "abc"
res1 = hash(strvar1)
res2 = hash(strvar2)
print(res1,res2) with open("ceshi1.txt",mode="r+",encoding="utf-8") as fp1 , open("ceshi2.txt",mode="r+",encoding="utf-8") as fp2:
res = fp1.read()
res2 = hash(res) res = fp2.read()
res3 = hash(res)
if res2 == res3 :
print("两者文件内容相同")
else:
print("两者文件不相同")

内置函数 示例代码

2. pickle序列化模块

# ### pickle 序列化模块
"""
序列化: 把不能够直接存储到文件的数据变得可存储,这个过程就是序列化
反序列化:把存储的数据拿出来,恢复成原来的数据类型,这个过程就是反序列化 php: (了解)
serialize 序列化
unserialize 反序列化 pickle 可以序列化所有的数据类型
"""
import pickle
# 文件当中,只能存储字符串 或 二进制字节流 ,其他不行
"""
lst = [1,2,34,5]
with open("ceshi.txt",mode="w",encoding="utf-8") as fp:
fp.write(lst)
"""
# (1)容器类型数据可以序列化
lst = [1,2,34,5]
#dumps 把任意对象序列化成一个bytes
res = pickle.dumps(lst)
print(res) #loads 把任意bytes反序列化成原来数据
lst = pickle.loads(res)
print(lst,type(lst)) # (2)函数可以序列化
def func():
print("我是函数func") #dumps 把任意对象序列化成一个bytes
res = pickle.dumps(func)
print(res)
#loads 把任意bytes反序列化成原来数据
func = pickle.loads(res)
print(func,type(func))
func() # (3)迭代器可以序列化
it = iter(range(5))
# 序列化迭代器
res = pickle.dumps(it)
# 反序列化恢复原来的数据类型
it2 = pickle.loads(res)
print(it2)
from collections import Iterator,Iterable
res = isinstance(it2,Iterator)
print(res) # 获取迭代器中的数据
for i in range(3):
res = next(it2)
print(res) for i in it2:
print(i) # 方法一
#dump 把对象序列化后写入到file-like Object(即文件对象)
lst = [1,2,3]
with open("ceshi.txt",mode="wb") as fp:
pickle.dump(lst,fp) #load 把file-like Object(即文件对象)中的内容拿出来,反序列化成原来数据
with open("ceshi.txt",mode="rb") as fp:
res = pickle.load(fp)
print(res,type(res)) # 方法二
# 用dumps 和 loads 对数据进行存储
lst = [1,2,3]
# 写入
with open("ceshi4.txt",mode="wb") as fp:
res = pickle.dumps(lst)
fp.write(res)
# 读取
with open("ceshi4.txt",mode="rb") as fp:
res = fp.read()
lst = pickle.loads(res)
print(lst)

pickle序列化模块 示例代码

3. math 数学模块

# ### math 数学模块
import math
#ceil() 向上取整操作 (对比内置round)
res = math.ceil(4.1111)
print(res) #floor() 向下取整操作 (对比内置round)
res = math.floor(6.9999)
print(res) #pow() 计算一个数值的N次方(结果为浮点数) (对比内置pow)
res = math.pow(2,3)
# res = math.pow(2,3,3) error math中pow方法只有2个参数;
print(res) #sqrt() 开平方运算(结果浮点数)
res = math.sqrt(9)
print(res) #fabs() 计算一个数值的绝对值 (结果浮点数) (对比内置abs)
res = math.fabs(-8)
print(res) #modf() 将一个数值拆分为整数和小数两部分组成元组
res = math.modf(7.81)
print(res) # (0.8099999999999996, 7.0) #copysign() 将参数第二个数值的正负号拷贝给第一个 (返回一个小数)
res = math.copysign(-18,-9)
print(res) #fsum() 将一个容器数据中的数据进行求和运算 (结果浮点数)(对比内置sum)
lst = [1,2,3,45]
res = math.fsum(lst)
print(res) #圆周率常数 pi
res = math.pi
print(res)

math 模块函数 示例代码

day14

day14-Python运维开发基础(内置函数、pickle序列化模块、math数学模块)的更多相关文章

  1. Python运维开发基础09-函数基础【转】

    上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...

  2. Python运维开发基础03-语法基础 【转】

    上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...

  3. Python运维开发基础02-语法基础【转】

    上节作业回顾(讲解+温习60分钟) #!/bin/bash #user login User="yunjisuan" Passwd="666666" User2 ...

  4. Python运维开发基础10-函数基础【转】

    一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...

  5. Python运维开发基础08-文件基础【转】

    一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...

  6. Python运维开发基础07-文件基础【转】

    一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...

  7. Python运维开发基础06-语法基础【转】

    上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...

  8. Python运维开发基础05-语法基础【转】

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...

  9. Python运维开发基础04-语法基础【转】

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 仅用列表+循环实现“简单的购物车程 ...

随机推荐

  1. 超长干货丨Kubernetes网络快速入门完全指南

    Kubernetes网络一直是一个非常复杂的主题.本文将介绍Kubernetes实际如何创建网络以及如何为Kubernetes集群设置网络. 本文不包括如何设置Kubernetes集群.这篇文章中的所 ...

  2. PyQt5窗口关闭问题---关闭主程序的窗口但子窗口仍显示的问题

    使用PyQt5做界面开发时,如果做一个较复杂的程序时往往会涉及到在主程序中打开某个菜单弹出子窗口的问题,如果在打开很多子窗口的时候想一键退出关闭主窗口,但其它的子窗口仍然正常显示着,那么如何在代码中进 ...

  3. JAVA(1)之关于对象数组作形参名的方法的使用

    public class Test{ int tour; public static void cs(Test a[]) { for (int i = 0; i < a.length; i++) ...

  4. ANSYS初始残余应力赋值

    目录 1.建模 2.划分网格并分组 3.所有节点固定约束 4.施加初始残余应力 5.结果 1.建模 建立有限元模型,采用SOLID185单元,模型尺寸0.050.050.02 材料为钢 !程序头 FI ...

  5. JavaWeb项目音频资源播放解决方案

    一.方式1:登陆系统后进行播放,即在浏览器端 需要在JSP页面编写相关代码 <div id="midea" style="display: none;"& ...

  6. [01]Binary Search二分查找

    Binary Search二分查找 作用:二分查找适用于有序的的数组或列表中,如果列表及数组中有n个元素,通过二分查找查询某一元素的位置需要的步骤是log2(n)(注:该log的底数是2) 1.Pyt ...

  7. 【网寻】mui - 点击事件

    //本来是需要这样的,结果点击无响应 $(".mui-control-item").on("click",function(event){ alert(1) } ...

  8. JavaScript图形实例:线段构图

    在“JavaScript图形实例:四瓣花型图案”和“JavaScript图形实例:蝴蝶结图案”中,我们绘制图形时,主要采用的方法是先根据给定的曲线参数方程计算出两点坐标,然后将两点用线段连接起来,线段 ...

  9. Linux下给mysql创建用户并分配权限

    // fe_group 用户名// fe 数据库名// 123456 密码 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> ...

  10. webdriver-js操作滚动条

    webdriver-js操作滚动条 1.      webdriver高级应用-js操作滚动条 1.滑动页面的滚动条到页面最下面 2.滑动页面的滚动条到页面的某个元素 3.滑动页面的滚动条向下移动某个 ...