Python基础12-内置函数
-曾老湿, 江湖人称曾老大。
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
内置函数介绍
内置函数 |
---|
#注意:内置函数id()可以返回一个对象的身份,返回值为整数。
这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准。
is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型

abs |
---|
取绝对值
print(abs(-1))
print(abs(0))
all |
---|
如果iterable中的所有值x的bool(x)为True,则返回True。
如果iterable为空,则返回True。
# 底层代码
def all(iterable):
for element in iterable:
if not element:
return False
return True
# 调用测试
print(all([1,'',None]))
print(all([1,2,'aaa']))
print(all([]))
print(all(''))

any |
---|
如果iterable中的任何x的bool(x)为True,则返回True。 如果iterable为空,则返回False。
# 底层代码
def any(iterable):
for element in iterable:
if element:
return True
return False
# 调用测试
print(any([0,'',None,False,1]))
print(any([0,'',None,False]))
print(any([]))

bin |
---|
二进制转换
oct |
---|
十进制转换
hex |
---|
十六进制转换
bool |
---|
查看布尔值
所有数据都有布尔值,只有几种的布尔值为假
print(bool(0))
print(bool(''))
print(bool([]))
print(bool(None))
bytes |
---|
字节类型
res='你'.encode('utf-8')
res='你'.encode('utf-8')
res=bytes('你',encoding='utf-8')
print(res,type(res))
callable |
---|
判断一个数据类型是不是可调用对象
print(callable(len))
print(callable(1))
chr |
---|
将字符编码表转换成ASCII码表的字符
print(chr(65))
print(chr(90))
print(chr(97))
print(chr(122))
ord |
---|
ord与chr相反,把ASCII码表的数字展示出来
print(ord('a'))
print(ord('z'))
print(ord('@'))
dir |
---|
查看某个函数下面所有的方法
import time
print(dir(time))
divmod |
---|
传递两个参数,最后得出结果,第一个参数除以第二个参数的结果放入元组中,前面是整数部分,后面是余数部分
print(divmod(3003,20))

一般应用场景,就是一个网站分页的计算,如果我有3003个商品,一个页面摆20个商品,我需要多少页?
enumerate |
---|
循环一个列表,将该列表的值和索引存入元组中
for i in enumerate(['a','b','c']):
print(i)

eval |
---|
将字符串中的表达式拿出来运行
res=eval('[1,2,3]')
print(res,type(res))

pow |
---|
传递三个参数,前两个参数的进行幂运算的结果对第三个参数取余
print(pow(2,3,5))
# 类似
print(2**3%5)
reverse |
---|
反转
l=[1,'a','3',3]
l1=reversed(l)
print(list(l1))
round |
---|
四舍五入
print(round(3.5))
print(round(3.3))
slice |
---|
切片
l=['a','b','c','d','e']
s='helloworld'
obj=slice(1,5,2)
print(l[1:5:2])
print(l[obj])
print(s[1:5:2])
print(s[obj])

zip |
---|
拉链函数
l=[1,2,3,4,5,6,7]
s='hello'
res=zip(l,s)
print(list(res))

import |
---|
导入模块
m=__import__('time')
print(m.time())
面向对象重点知识 |
---|
在面向对象文章中,重点介绍
object.__dict__
classmethod
staticmethod
property
delattr
hasattr
getattr
setattr
isinstance
issubclass
object
super
面向过程编程
可以理解为是一个编程思想或者是变成套路
核心是过程二字,过程指的就是解决问题的步骤,即先干什么再干什么后干什么... 基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式
优点:复杂的问题流程化,进而简单化 缺点:可扩展性差
## 注册功能:
#阶段1: 接收用户输入账号与密码,完成合法性校验
def talk():
while True:
username=input('请输入你的用户名: ').strip()
if username.isalpha():
break
else:
print('用户必须为字母')
while True:
password1=input('请输入你的密码: ').strip()
password2=input('请再次输入你的密码: ').strip()
if password1 == password2:
break
else:
print('两次输入的密码不一致')
return username,password1
#阶段2: 将账号密码拼成固定的格式
def register_interface(username,password):
format_str='%s:%s\n' %(username,password)
return format_str
#阶段3: 将拼好的格式写入文件
def handle_file(format_str,filepath):
with open(r'%s' %filepath,'at',encoding='utf-8') as f:
f.write(format_str)
def register():
user,pwd=talk()
format_str=register_interface(user,pwd)
handle_file(format_str,'user.txt')
register()
如果要添加功能,那就很麻烦,牵一发而动全身
#阶段1: 接收用户输入账号与密码,完成合法性校验
def talk():
while True:
username=input('请输入你的用户名: ').strip()
if username.isalpha():
break
else:
print('用户必须为字母')
while True:
password1=input('请输入你的密码: ').strip()
password2=input('请再次输入你的密码: ').strip()
if password1 == password2:
break
else:
print('两次输入的密码不一致')
role_dic={
'1':'user',
'2':'admin'
}
while True:
for k in role_dic:
print(k,role_dic[k])
choice=input('请输入您的身份>>: ').strip()
if choice not in role_dic:
print('输入的身份不存在')
continue
role=role_dic[choice]
return username,password1,role
#阶段2: 将账号密码拼成固定的格式
def register_interface(username,password,role):
format_str='%s:%s:%s\n' %(username,password,role)
return format_str
#阶段3: 将拼好的格式写入文件
def handle_file(format_str,filepath):
with open(r'%s' %filepath,'at',encoding='utf-8') as f:
f.write(format_str)
def register():
user,pwd,role=talk()
format_str=register_interface(user,pwd,role)
handle_file(format_str,'user.txt')
register()
相关文章
- Python-基础05-字符编码
- Python基础11-迭代器,生成器
- 如何为pycharm配置Python解释器_pycharm选择python解释器
- python爬虫基础源代码
- python中sqrt函数用法_Python : sqrt() 函数
- python中bool函数_bool()函数以及Python中的示例
- python截图识别文字_Python文字截图识别OCR工具实例解析
- python基础-内置函数详解[通俗易懂]
- python setattr函数_Python内置函数(53)——setattr
- Python修改文件后缀_python重命名文件名
- 【学习笔记】Python基础
- python判断文件后缀_Python 判断文件后缀是否被篡改
- python绘制条形柱状图_Python柱状图
- Python基础(十六):函数的初步认识
- Python基础(十七):函数的深入了解
- 新手学Python可行吗?需要什么基础?(新手学python可行吗?需要什么基础)
- Python基础之sorted()函数用法
- Python基础语法-函数-函数装饰器(一)
- Python基础语法-函数-函数装饰器-多个装饰器
- Python基础语法-内置函数和模块-re模块
- Python基础语法-内置函数和模块-loging模块
- Python基础语法-函数的错误处理-try...except语句
- Python基础语法-函数的错误处理-assert语句
- python基础7之python3的内置函数详解编程语言
- 在Linux上学习Python——你的编程之路(linux学python)
- 用Python仿写MSSQL 编程体验更有趣(python仿mssql)