IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python高阶(一)--- 推导式,私有变量,自省 -> 正文阅读

[Python知识库]Python高阶(一)--- 推导式,私有变量,自省

推导式

先看一个比较简单的

求输出1-100中的偶数
这是正常情况下的代码:

    result = []
    # 返回0-100所有的偶数
    for i in range(1, 101):
        if i % 2 == 0:
            result.append(i)
    print(result)

下面看一下推导式的代码:

print([i for i in range(1, 101) if i % 2 == 0])

再看第二个需求,将 “键1 = 值1;键2 = 值2;键3 = 值3…” 转换为 {键1:值1;键2:值2;…}

这是正常情况下的代码:

    cookie = "A=123;B=2;C=3;D=4;E=5"
    new_cookie = {}
    
    for item in cookie.split(";"): # 先用分号分隔cookie
        s = item.split("=") #用=分割
        new_cookie[s[0]] = s[1] # 等号左边作为键,等号右边作为值,添加到new_cookie中
        
    print(new_cookie)

输出结果为:
在这里插入图片描述
下面看一下推导式的代码:

print({item.split('=')[0]:item.split('=')[1] for item in cookie.split(';')})

私有变量

和在JAVA中的private/protected/public差不多

先介绍一下private

 class A(object):
        def __init__(self):
            self.__z = 2  # 私有属性

        def __some_method(self):  # 私有方法
            print("私有")

在其他地方是不能使用这个私有属性和私有方法的

再看看protected

_a = 10  
b = 20

在其他模块中引用
from class_name import * 时 _a被自动忽略
但是可以from class_name import _a强制引用

自省

汉语解释:自我反省
Python的自省:Python运行的时候知道对象自身有哪些东西

class Person(object):
    name = "玩意"


print(dir(Person))  # dir是自省的一种,作用查看自己有哪些属性
print(hasattr(Person, "name"))  # hasattr也是自省的一种,作用查看对象有没有某个属性

使用场景举例: 一个函数中实现“检查函数参数”(类型检查,整数检查等)

def f(i):
    if not isinstance(i, int):
        print(f'{i}不是整数')
    else:
        print(f'{i}是整数')


if __name__ == '__main__':
    f(1)
    f(1.2)
    f(1.5)
    f(2)

输出结果:
在这里插入图片描述
常用的自省有:

dir()  # python查看对象有哪些属性
hasattr()  # python查看对象是否有某个属性
type()  # python查看对象是什么类型
isinstance()  # python查看对象是不是某个类型
id()  # python查看对象的id是什么
callable()  # python判断对象是不是可调用的(即是不是可以加括号调用)
help()  # python查看某个对象的帮助信息
getattr()   # 获得某个对象的属性
setattr()   # 设置某个对象的属性
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:19:02  更:2022-04-09 18:19:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:37:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码