博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试---真题
阅读量:4986 次
发布时间:2019-06-12

本文共 2606 字,大约阅读时间需要 8 分钟。

5.可迭代对象,迭代器 

#可迭代对象只含有__iter__方法的数据是可迭代对象#迭代器:含有__iter__方法,并且含有__next__方法的数据是迭代器

6.手写装饰器

def wrapper(func):    def inner(*args,**kwargs):        '''执行函数前进行的操作'''        ret = func(*args,**kwargs)        '''执行函数后进行的操作'''        return ret    return inner

8.python函数式编程是什么

#什么是函数式编程?#函数式编程使用一系列的函数解决问题。#函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始终能产生同样的结果。#在一个函数式的程序中,输入的数据“流过”一系列的函数,每一个函数根据它的输入产生输出。函数式风格避免编写有“边界效应”(side effects)的函数:修改内部状态,或者是其他无法反应在输出上的变化。完全没有边界效应的函数被称为“纯函数式的”(purely functional)。避免边界效应意味着不使用在程序运行时可变的数据结构,输出只依赖于输入。#可以认为函数式编程刚好站在了面向对象编程的对立面。对象通常包含内部状态(字段),和许多能修改这些状态的函数,程序则由不断修改状态构成;函数式编程则极力避免状态改动,并通过在函数间传递数据流进行工作。但这并不是说无法同时使用函数式编程和面向对象编程,事实上,复杂的系统一般会采用面向对象技术建模,但混合使用函数式风格还能让你额外享受函数式风格的优点。

11.面向对象有哪些内置方法

__str__(self): __del__()析构法__call__(self,*args,**kwargs)__dict__ 返回属性和方法__iter__()__new__()构造法类的实例属性是字典的时候,使用以下三个方法__getitem__() :返回当前的实例属性的字典值__setitem__():属性中的key和value重新赋值__delitem__():删除实例属性中的某个字典key和value值

 

12.repr和str的区别

Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。 例如:
>>> "Hello, world!"'Hello, world!'   # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号>>> 1000L         # python理解为Long型的数字,所以它打印出来的时候也带着后缀L1000L>>> print "Hello, world!"    # 打印一个字符串,给用户看的,所以不带引号Hello, world!>>> print 1000L              # 用户看到的当然是一个数字1000,而不是字符串1000L1000
str和repr实际就分别对应上述两种显示方式。str把值转换为合理形式的字符串,给用户看的。str实际上类似于int,long,是一种类型。
>>> print str("Hello,  world!")Hello,  world!            >>> print str(1000L)1000                         >>> str("Hello, world!")'Hello, world!'               # 字符串转换之后仍然是字符串>>> str(1000L)'1000'
repr()创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。
>>> print repr("Hello,  world!")'Hello,  world!'>>> print repr(1000L)1000L>>> repr("Hello,  world!")"'Hello,  world!'">>> repr(1000L)'1000L'
总而言之,str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号  如果str和reor只能选择一个的时候要用repr,可以顶替str。

13.手写递归裴波那切数列

#递归函数---裴波那切def fibo(n,a=0,b=1):#定义一个函数    if n == 1:return b#如果n==1则返回b    return fibo(n-1,b,a+b)#位置传参,覆盖默认参数的值print(fibo(6))
#非递归函数---裴波那切数列def fib_circle(n):#定义一个函数    a=1#给a和b赋值    b=1    if n<=2:#如果n小于等于2则返回1        return 1    else:#否则        for i in range(2,n):#循环2到n-1之间的所有的数            c=a+b            a=b            b=c        return c#返回一个cprint(fib_circle(6))#打印并调用函数

 14.递归两个准则是什么

#调用自身和结束条件

19.类属性和对象属性

#类属性和对象属性的作用域#类属性:公有属性,私有属性,内置属性#对象属性:公有属性,私有属性,内置属性,方法变量,全局变量#类属性和对象属性定义#Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。#对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。#一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute)。

 

转载于:https://www.cnblogs.com/chongdongxiaoyu/p/8583368.html

你可能感兴趣的文章
我记录开源系统1.6源码解析(一)
查看>>
256. Paint House房屋染色
查看>>
671. Second Minimum Node In a Binary Tree 非递减二叉树中第二小的元素
查看>>
747. Largest Number At Least Twice of Others比所有数字都大两倍的最大数
查看>>
105. Construct Binary Tree from Preorder and Inorder Traversal根据前中序数组恢复出原来的树...
查看>>
MS-SQL Server [摘改]
查看>>
实验五 6 6
查看>>
进阶攻略|前端最全的框架总结
查看>>
网站二次开发的总结
查看>>
把手账打印成书 把回忆装订成册
查看>>
洛谷P4116 Qtree3
查看>>
洛谷 P1195 口袋的天空
查看>>
网络协议
查看>>
网络基础之网络协议
查看>>
Jzoj3528 图书馆
查看>>
daemon虚拟光驱
查看>>
Java基础__Integer类型中的自动装箱
查看>>
头文件包含方式
查看>>
C# 日志系统 log4net 配置及使用
查看>>
JavaScript获取当前url路径
查看>>