1、 python 函数 的参数传递

a = 1
def fun(a):
    a = 2
fun(a)
print a  # 1

a = []
def fun(a):
    a.append(1)
fun(a)
print a  # [1]

  

主要有两总结 :1变量是对实际内存对象的一个引用,变量的值和类型取决于实际被引用的对象。

2、python函数的参数,如果是一个外部变量,会复制一个对同一个对象的引用,这个局部变量的引用是和外部的引用没有任何关系的,

如果只是对外部变量进行引用,那就是引用的同一个对象。如果发生了赋值,这个引用就指向了另外的对象。如果是操作,对引用对象的值发生改变,

要看引用对象是可变类型还是不可变类型,如果是可变的,还是引用的同一个对象,只是对象的值发生改变了,如果是字符串、元组、数字等不可变数据类型,

发生修改,实际上是会产生一个新的内存对象。

2、python 的metaclass 要看一下

3、关于python类变量一个实例的解释

class Person:
    name="aaa"

p1=Person()
p2=Person()
p1.name="bbb"
print p1.name  # bbb
print p2.name  # aaa
print Person.name  # aaa

  

我们一直在强调引用,确实没错,但是对于上面这问题,我们看,他是不是已经该变量类变量name的引用呢,其实整个过程是这样的,他现在自己实例空间中声明一个name,然后根据这个去查找,类中有没有相同的变脸,如果有就复制一份这个引用,给我自己声明的name,如果没有就报错 , 这个时候是可以给自己空间的这个name变量,重新附一个值,也就是产生了一个新的对象引用。所以,这个是不会改变类变量中的name的引用的。

5、python自省 :指的是python的代码在执行过程中,可以知道对象的类型,例如 ,type()方法 ,isintance() 方法。

6、字段推导式 {expression(k) :expression(v) for  k , v in dict.items()  conditon },总是字典推导式是和列表推导式的用法是一致的。

7、generator

8、iterator 

9、什么是AOP ,就是动态的将代码切入到,类的指定方法中的编程思想,叫做切面编程。AOP。 直白一点就是在类的方法上装一个decorator

10.函数重载,python不支持函数重载

函数重载是用来做什么的?

1、同一个函数,不同的参数的类型(同一段函数代码),可能产生的结果是不一样的。这样需要函数重载

2、同一个函数,不同的参数个数。

基于以上两点,我们用python来分析一下,第一python是动态性语言,就是python的变量引用对象的数据类型,是在代码执行过程中确认的,所以说,函数中的参数是可以接受任意的数据类型的,而我们说过函数重载是具有相同的代码,那么对于python来讲,就是没有意义了。完全不需要写两个同名函数。

第二点,同一个函数,不同的参数个数,python是有不固定参数的,也就是*args,**kwargs。这个两个不固定长度参数,可以解决此问题。

11、python 变量的查找范围,分别是内部作用域 -》函数闭包-》全局作用域-》内建作用域

12、关于函数式编程

这个在python中是有引用的,

第一,python的decorator的实现过程就是用到了函数式编程中的定义,就是函数也是对象,函数名是对整个函数体的一个引用,函数名可以做为其他函数的参数和返回值

第二,是是关于三个内置函数,一个reduce ,map,还有一个filter。

filter 和map的函数形式相同 ,哪map举例 map(fucntion , sequence),第一个参数是一个函数 , 第二个参数是一个可迭代对象。如下:

关于reduce,这个函数,和前面两个稍有不同, reduce(function , iterable)  ,就是reduce中的函数中必须要有两个参数,会先去,后面iterable中的前两个元素,现在函数中做计算,然后,在用第三个元素,和前两个元素计算出来的值进行计算

如下:

13、关于容器类对象的deepcopy和浅copy

python 面试题知识回顾的更多相关文章

  1. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  2. python 全栈开发,Day32(知识回顾,网络编程基础)

    一.知识回顾 正则模块 正则表达式 元字符 : . 匹配除了回车以外的所有字符 \w 数字字母下划线 \d 数字 \n \s \t 回车 空格 和 tab ^ 必须出现在一个正则表达式的最开始,匹配开 ...

  3. python公司面试题集锦 python面试题大全

    问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...

  4. 【Python】【面试必看】Python笔试题

    前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...

  5. python---基础知识回顾(二)(闭包函数和装饰器)

    一.闭包函数: 闭包函数: 1.在一个外函数中定义了一个内函数 2.内函数里运用了外函数的临时变量,而不是全局变量 3.并且外函数的返回值是内函数的引用.(函数名,内存块地址,函数名指针..) 正确形 ...

  6. python---基础知识回顾(六)网络编程

    python---基础知识回顾(十)进程和线程(进程) python---基础知识回顾(十)进程和线程(多线程) python---基础知识回顾(十)进程和线程(自定义线程池) 一:Socket (一 ...

  7. Python总结篇——知识大全

    python基础 Python开发环境搭建 Python变量和基本数据类型 python基本数据类型之操作 python的语法规范及for和while python编码 python文件操作 pyth ...

  8. scrapy实战1,基础知识回顾和虚拟环境准备

        视频地址 https://coding.imooc.com/learn/list/92.html   一. 基础知识回顾     1. 正则表达式 1)贪婪匹配,非贪婪匹配 .*? 非贪婪 . ...

  9. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun():    temp = [lambda x : i*x for i in range(4)]    return ...

随机推荐

  1. Shiro权限模型以及权限分配的两种方式

    1. 顶级账户分配权限用户需要被分配相应的权限才可访问相应的资源.权限是对于资源的操作一张许可证.给用户分配资源权限需要将权限的相关信息保存到数据库.这些相关内容包含:用户信息.权限管理.用户分配的权 ...

  2. iframe父页面和子页面调用

    我在页面中使用iframe标签,有的时候就需要两个页面交互 <iframe id="Iframe"  src="{{url('field/user')}}" ...

  3. babel-polyfill的几种使用方式

    前言 preset与plugin的关系: preset中已经包含了一组用来转换ES6+的语法的插件,如果只使用少数新特性而非大多数新特性,可以不使用preset而只使用对应的转换插件 babel默认只 ...

  4. 使用freemarker生成word文档处理表格数据

    1.把需要从数据库取值的字段用${}括起来,如:${busDate};2.表格数据的循环需要加标签:<#list tbl3 as tbl3>......</#list>< ...

  5. .Net core----使用容联云短信推送

    一直在忙于写接口,也没有时间去好好的整理的一片文档,写一篇经常的用到的短信推送案例 还是比较喜欢干货  作为有个程序员 有时候复制粘贴习惯了   实在的还是比较实在 比如能用复制解决的为什么不用复制 ...

  6. 初学python之路-day08

    #学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...

  7. 如何配置adb环境变量

    如何配置adb环境变量? 1.我的电脑---控制面板---高级系统设置 2.点击[高级系统设置],弹出系统属性的弹框, 3.点击[环境变量],弹出环境变量弹框,新建一个系统变量,命名为Android ...

  8. 五 Zabbix全网监控

    监控的作用 我们的职责   1.保障企业数据的安全可靠.   2.为客户提供7*24小时服务.   3.不断提升用户的体验.在关键时刻,提前提醒我们服务器要出问题了当出问题之后,可以便于找到问题的根源 ...

  9. LoadRunner基础知识

    什么是自动化性能测试?利用产品.人员和流程来降低应用程序.升级程序或补丁程序部署风险的一种手段 什么是自动化性能测试的核心?向预部署系统施加工作负载,同时评估系统性能和最终用户体验 LoadRunne ...

  10. 出错:Failed to convert property value of type 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to required type 'java.lang.String' for property 'sqlSessionFactoryBeanName';

    出错的详细信息: 3 ERROR [http-nio-80-exec-3] org.springframework.web.servlet.DispatcherServlet - Context in ...