python反射

Python内建函数

限于喜欢 提交于 2020-03-06 05:46:10
一、数学运算类 abs(x) 求绝对值 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数 注意:整型、浮点型都可以 float([x]) 将一个字符串或数转换为浮点数。如果无参数将返回0.0 int([x[, base]]) 将一个字符转换为int类型,base表示进制 long([x[, base]]) 将一个字符转换为long类型 pow(x, y[, z]) 返回x的y次幂 range([start], stop[, step]) 产生一个序列,默认从0开始 round(x[, n]) 四舍五入 sum(iterable[, start]) 对集合求和 oct(x) 将一个数字转化为8进制 hex(x) 将整数x转换为16进制字符串 chr(i) 返回整数i对应的ASCII字符 bin(x) 将整数x转换为二进制字符串 bool([x]) 将x转换为Boolean类型 二、集合类操作 basestring() str和unicode的超类 不能直接调用,可以用作isinstance判断 format(value [, format_spec]) 格式化输出字符串 格式化的参数顺序从0开始,如“I am {0},I like {1}” unichr(i) 返回给定int类型的unicode enumerate

python之内置函数

↘锁芯ラ 提交于 2020-03-04 07:27:26
一、数学运算类 1 abs(x) 求绝对值 2 1、参数可以是整型,也可以是复数 3 2、若参数是复数,则返回复数的模 4 complex([real[, imag]]) 创建一个复数 5 divmod(a, b) 分别取商和余数 6 注意:整型、浮点型都可以 7 float([x]) 将一个字符串或数转换为浮点数。如果无参数将返回0.0 8 int([x[, base]]) 将一个字符转换为int类型,base表示进制 9 long([x[, base]]) 将一个字符转换为long类型 10 pow(x, y[, z]) 返回x的y次幂 11 range([start], stop[, step]) 产生一个序列,默认从0开始 12 round(x[, n]) 四舍五入 13 sum(iterable[, start]) 对集合求和 14 oct(x) 将一个数字转化为8进制 15 hex(x) 将整数x转换为16进制字符串 16 chr(i) 返回整数i对应的ASCII字符 17 bin(x) 将整数x转换为二进制字符串 18 bool([x]) 将x转换为Boolean类型 View Code 二、集合类操作 1 basestring() str和unicode的超类不能直接调用,可以用作isinstance判断 2 format(value [, format_spec]

Python大神 - Django(深层学习)-- urls配置

自古美人都是妖i 提交于 2020-03-03 00:24:14
urls又称路由系统 一、url 用法 1 注意写法: 2 url(r'^form/$',views.userform,name='form_one') # 函数的写法 3 url(r'^form/$',views.userform.as_view(),name='form_one') # 类的写法 4 1)域名部分会被过滤掉 5 2)form前面不需要添加/,因为前序url的末尾一定会有/ ( url(r'^form/(\d{4})/$) 6 3)任何组匹配的变量,都会以字符串的形式传递给view(可以是一个函数,也可以是类) 二、url简单形式(单一对应) url(r'^index$', views.index), 三、url正则匹配(无法把分组的串传递给后台) url(r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive') 四、url正则匹配,(把分组的数据传递给后台) 利用named group来传递参数 url(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive') view获取数据 class TestView(View): def get(self,year,month) pass year,month

测试你的Python 水平----7

怎甘沉沦 提交于 2020-03-02 11:43:49
1、问:Cpython,Jython和IronPython有什么不同? 答:三者都是python编译器的实现方式;Cpython是python的标准实现;Jypthon是Python的Java实现;IronPython是Python的.net实现。 2、 问:exec,eval,execfile的用途是什么? 答:1)exec用来执行存储在字符串中的python语句,例如exec(“print ‘hello world!’”); 2) Eval把存储的字符串当成表达式求值,例如eval(“1+2+3+4+5+6”); 3) execfile用来执行一个文件脚本,例如execfile(“test.py”); 3、 问:如何查看一个模块的所有属性? 答:dir(moduleName) ps:dir函数真的是python中一个伟大的发明,通过它反射获取模块的属性; 4、 问:请使用python获取http://www.freelycode.com(自由编码)首页的内容。 答:使用urllib模块实现; import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html html = getHtml("http://www.freelycode.com") print html

Python入门(目录全览)

人盡茶涼 提交于 2020-03-01 10:19:36
文章目录 ==已更新到第二篇完结== Python入门(目录全览) 第一篇 计算机基础 第二篇 Python解释器和集成环境 第三篇 Python基础 第四篇 Python进阶 第五篇 文件处理 第六篇 函数基础 第七篇 函数进阶 第八篇 模块基础 第九篇 Python常用模块 第十篇 面向对象基础 第十一篇 面向对象进阶 第十二篇 面向对象高阶 第十三篇 网络编程 第十四篇 并发编程 第十五篇 MySQL数据库 已更新到第二篇完结 Python入门(目录全览) 第一篇 计算机基础 002 计算机基础之编程 003 计算机组成原理 004 计算机操作系统 005 编程语言分类 006 网络的瓶颈效应 007 计算机基础小结 第二篇 Python解释器和集成环境 008 Python和Python解释器 009 Python解释器安装 010 Anaconada安装 011 Python解释器镜像源修改 012 执行Python程序的两种方式 013 Python的IDE之Pycharm的使用 014 Python的IDE之Jupyter的使用 015 pip的使用 第三篇 Python基础 017 变量 018 常量 019 Python变量内存管理 020 变量的三个特征 021 花式赋值 022 注释 023 数据类型基础 024 数字类型 025 字符串类型 026 列表类型

Python基础知识学习_Day8

醉酒当歌 提交于 2020-03-01 06:03:42
一、类的扩展方法 1.静态方法 语法:@staticmethod,静态方法不能访问公有属性,不能访问类。可在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量。 1 class eat(object): 2 def __init__(self,name): 3 self.name = name 4 @staticmethod #静态方法不能访问共有属性、不能访问实例 5 def eat(name,food): 6 print("%s is eating..%s" %(name,food)) 7 p.eat("alex","food") 2.类方法 语法:@classmethod,只能访问类的公有属性,不能访问实例属性。 1 class Dog(object): 2 name = "我是类变量" 3 def __init__(self,name): 4 self.name = name 5 6 @classmethod 7 def eat(self): 8 print("%s is eating" % self.name) 9 10 11 12 d = Dog("ChenRonghua") 13 d.eat() 14 15 16 #执行结果 17 18 我是类变量 is eating 3.属性方法 语法:@property 把一个方法变成静态属性 1 class

[ python ] 类中的一些特殊方法

ε祈祈猫儿з 提交于 2020-02-29 01:37:39
item系列 __getitem__(self, item) 对象通过 object[key] 触发 __setitem__(self, key, value) 对象通过 object[key] = value 触发 __delitem__(self, key) 对象通过 del object[key] 触发 class Func: def __getitem__(self, item): # object[item] 触发 return self.__dict__[item] def __setitem__(self, key, value): # object[key] = value 触发 self.__dict__[key] = value def __delitem__(self, key): # del object[key] 触发 print('delitem: 删除key') del self.__dict__[key] def __delattr__(self, item): # del object.item 触发 print('delattr: 删除key') del self.__dict__[item] f = Func() f['name'] = 'hkey' # __setitem__ f['age'] = 20 # __setitem__ print

python(内置函数)

偶尔善良 提交于 2020-02-27 01:51:09
参考文章 检测本文件中对象是否存在 # -*- coding: utf-8 -*- import sys x=10 obj1=sys.modules[__name__] print(hasattr(obj1,"x")) obj2=sys.modules[__name__] print(hasattr(obj2,"y")) 基于反射动态导入模块 isinstance检查对象是否是类产生的对象 # -*- coding: utf-8 -*- class Foo(object): pass obj = Foo() isinstance(obj, Foo) issubclass(class1,class2)检查class1是否是class2产生的派生类 # -*- coding: utf-8 -*- class Foo(object): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) __getattribute__    当__getattribute__与__getattr__同时存在,只会执行__getattrbute__,除非__getattribute__在执行过程中抛出异常AttributeError二者同时出现 # -*- coding: utf-8 -*- __author__ = 'Linhaifeng'

常见python面试题

梦想的初衷 提交于 2020-02-26 18:54:03
1,简述列举了解的编程语言及语言间的区别? Python 解释型语言,代码简洁,易懂 C语言 编译型语言,底层语言 c++ 编译型语言,在C语言基础上加了面向对象 Java 混合型语言,可拓展性高 Golang 编译型语言,强类型,代码规范,高并发 语言特点: 灵活简洁,语言优美 可读性强, 语言类型: 解释型:逐行转化,运行效率低,性能差,开发效率高。兼容性好,跨平台 编译型 :一次性编译成二进制文件,执行效率高,兼容性差, 动态语言:不用声明变量的数据类型(脚本类语言) 静态语言:需要声明变量的数据类型 第三方库:python定位是任其发展,开源库很多,应用领域广 2,列举Python2和Python3的区别? python2只更新支持到2020年 print:2不加括号,3加括号 input:2中用户输入解析为int类型,raw_input为字符串类型,3直接是字符串类型 range:2是列表,xrange是可迭代对象;3是可迭代对象 继承关系:2是新式类+经典类;3是新式类 数字表示:2,int和long(长整形,超出2**63-1,数字末尾有一个L);3所有整型都是int 3,看代码写结果: v1 = 1 or 2 # v1 = 1 v2 = 3 and 3 or 9 and 0 # v2 = 7 4,以下的值有什么不同? v1 = [1,2,3] v2 = [(1),

python面试题

风流意气都作罢 提交于 2020-02-26 14:17:36
Python面试(基础篇) 1.简述列举了解的编程语言及语言间的区别? 我了解python,java和c和go 简单的说,python省去了java和c 的大括号,分号 python使用时更加简洁,方便,和易阅读 python是解释型语言,不需要编辑,java和c 需要编译,但是开发周期长,python使用起来效率比java和c低,但如果不是特别注重延迟的项目,用python更加合适 python是开源的,应用广泛,可移植性强,是可嵌入的解释型编程语言 2.列举Python2和Python3的区别? python3不兼容python2,但是python2.7都兼容 首先python2不支持中文用的是ASCII,python3支持,用的是utf8 python2和python3的range不同,2中返回一个列表,3中返回一个迭代器,更加节省内存 2中print不加括号,3中加括号 2中的raw_input函数是3中的input函数 3.看代码写结果 v1 = 1 or 2v2 = 3 and 7 or 9 and 0​10 4.比较一下值有什么不同? v1 = [1,2,3]v2 = [(1),(2),(3)]v3 = [(1,),(2,),(3,)]​v1 = v2v3 是列表中套了三个元组 5.用一行代码实现数值交换 a = 1b = 2a,b = b,a 6