实例变量

python面试题

喜夏-厌秋 提交于 2019-12-28 03:52:36
首页 代码 文档 问答 资讯 经验 GitHub日报 | 安卓开发专栏 | 开发者周刊 | Android Studio 使用推荐 | Android开发推荐 登录 注册 www.open-open.com/lib OPEN经验 投稿 全部经验分类 Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim C++ C# JSON Ruby Linux Nginx Docker 所有分类 > 开发语言与工具 > Python开发 关于Python的面试题 Python 2016-01-25 11:02:47 发布 您的评价 : 5.0 收藏 3收藏 来自: https://github.com/taizilongxu/interview_python?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io Table of Contents Python语言特性 1 Python的函数参数传递 2 Python中的元类(metaclass) 3 @staticmethod和@classmethod 4 类变量和实例变量 5 Python自省 6 字典推导式 7

Python之函数

落花浮王杯 提交于 2019-12-27 12:21:50
  函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。   函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义一个函数   你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 () 。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 语法 Python 定义函数使用 def 关键字,一般格式如下 def 函数名(参数列表): 函数体 View Code 默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。 实例 让我们使用函数来输出"Hello World!": >>> def hello() : print("Hello World!") >>> hello() Hello World! >>> View Code 更复杂点的应用,函数中带上参数变量: #!/usr/bin/python3 # 计算面积函数 def area(width, height

Java单例模式探究

我们两清 提交于 2019-12-27 08:27:56
作为对象的创建模式 [GOF95] , 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。由定义可以总结出单例模式的要点有三个:一是单例类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个 Printer Spooler ,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。 虽然从类图上看,单例模式是最简单的设计模式之一,但是真正正确地使用单例模式却不是那么简单的事。 首先看一个经典的单例实现。 public class Singleton { private static Singleton uniqueInstance = null ; private Singleton() { // Exists only to defeat instantiation. } public static Singleton getInstance() { if ( uniqueInstance ==

【宠粉通道】叫我讲解的一道前端JS面试题-灵魂三问:prototype?类的prototype是什么?对象的proto是什么

孤街醉人 提交于 2019-12-27 02:02:41
作者 | Jeskson 来源 | 达达前端小酒馆 1 究竟是什么样的题目让我徒弟疑惑呢?让我们看看截图先,来源于wx群: 看看我是怎么回答的: function Foo() { getName = function () { alert (1); }; return this; } var getName; //只提升变量声明 function getName() { alert (5);} //提升函数声明,覆盖var的声明 Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; getName = function () { alert (4);}; //最终的赋值再次覆盖function getName声明 getName(); //最终输出4 看懂没呢?没看懂也别急哈: 先让我们了解函数的定义: 函数声明,可以先调用再声明 dadaFn(); function dadaFn(){ console.log(dadaFn); } / 返回 f -> function function dadaFn() { console.log(dadaFn); } 函数表达式,先声明再调用: let daDafn = function() { console

ThinkPHP5中的助手函数

笑着哭i 提交于 2019-12-26 22:58:51
load_trait:快速导入Traits,PHP5.5以上无需调用 /** * 快速导入Traits PHP5.5以上无需调用 * @param string $class trait库 * @param string $ext 类库后缀 * @return boolean */ load_trait ( $class , $ext = EXT ) exception:抛出异常处理 /** * 抛出异常处理 * @param string $msg 异常消息 * @param integer $code 异常代码 默认为0 * @param string $exception 异常类 * * @throws Exception */ exception ( $msg , $code = 0 , $exception = '' ) debug:记录时间(微秒)和内存使用情况 /** * 记录时间(微秒)和内存使用情况 * @param string $start 开始标签 * @param string $end 结束标签 * @param integer|string $dec 小数位 如果是m 表示统计内存占用 * @return mixed */ debug ( $start , $end = '' , $dec = 6 ) lang:获取语言变量值 /** *

thinkphp 5 常用的助手函数

浪尽此生 提交于 2019-12-26 22:58:38
load_trait:快速导入Traits,PHP5.5以上无需调用 /** * 快速导入Traits PHP5.5以上无需调用 * @param string $class trait库 * @param string $ext 类库后缀 * @return boolean */ load_trait($class, $ext = EXT) exception:抛出异常处理 /** * 抛出异常处理 * @param string $msg 异常消息 * @param integer $code 异常代码 默认为0 * @param string $exception 异常类 * * @throws Exception */ exception($msg, $code = 0, $exception = '') debug:记录时间(微秒)和内存使用情况 /** * 记录时间(微秒)和内存使用情况 * @param string $start 开始标签 * @param string $end 结束标签 * @param integer|string $dec 小数位 如果是m 表示统计内存占用 * @return mixed */ debug($start, $end = '', $dec = 6) lang:获取语言变量值 /** * 获取语言变量值 * @param

TP5 函数助手实例说明

两盒软妹~` 提交于 2019-12-26 22:58:24
load_trait:快速导入Traits,PHP5.5以上无需调用 /** * 快速导入Traits PHP5.5以上无需调用 * @param string $class trait库 * @param string $ext 类库后缀 * @return boolean */ load_trait($class, $ext = EXT) exception :抛出异常处理 /** * 抛出异常处理 * @param string $msg 异常消息 * @param integer $code 异常代码 默认为0 * @param string $exception 异常类 * * @throws Exception */ exception($msg, $code = 0, $exception = '') debug :记录时间(微秒)和内存使用情况 /** * 记录时间(微秒)和内存使用情况 * @param string $start 开始标签 * @param string $end 结束标签 * @param integer|string $dec 小数位 如果是m 表示统计内 存占用 * @return mixed */ debug($start, $end = '', $dec = 6) lang :获取语言变量值 /** * 获取语言变量值 * @param

Objective-C笔记

最后都变了- 提交于 2019-12-26 22:31:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、在编译一个使用了CPerson类的文件时,如果不需要知道该类的全部细节,只需要知道有一个类名叫CPerson,最好“向前声明”该类(同理于对一个协议的引用),这样做也可以避免“循环引用”问题: 例: @class CPerson 例: #import "CShape.h" #import "CDrawable.h" @interface CRectangle : CShape <CDrawable> 2、多用字面量语法,少用与之等价的方法 (NSString/NSNumber/NSArray/NSDictionary) 字面量语法的限制:除了字符串以外,所创建出来的对象必须属于Foundation框架才行。如果自定义了这些类的之类,则无法用字面量语法创建其对象。 例: NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumber = @1 ; NSNumber *floatNumber = @2.5f; NSNumber *boolNumber = @YES; NSNumber *charNumber = @'a'; NSArray *animals = @[@"cat", @"dog",@"pig"];//若@“dog

Python之函数进阶

一世执手 提交于 2019-12-26 21:37:17
本节内容 上一篇中介绍了Python中函数的定义、函数的调用、函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一、递归函数 函数是可以被调用的,且一个函数内部可以调用其他函数。如果一个函数在内部调用本身,这个函数就是一个递归函数。函数递归调用的过程与循环相似,而且理论上,所有的递归函数都可以写成循环的方式,但是递归函数的优点是定义简单,逻辑清晰。递归和循环都是一个重复的操作过程,这些重复性的操作必然是需要有一定的规律性的。另外,很明显递归函数也需要一个结束条件,否则就会像死循环一样递归下去,直到由于栈溢出而被终止(这个下面介绍)。 可见,要实现一个递归函数需要确定两个要素: 递归规律 结束条件 1. 实例:计算正整数n的阶乘 n! = 1 * 2 * 3 * ... * n 循环实现 思路有两个: 从1乘到n,需要额外定义一个计数器存放n当前的值 从n乘到1,无需额外定义计数器,直接对n进行减1操作,直到n=0返回1结束 def fact(n): if n == 0: return 1 result = 1 while n >= 1: result *= n n -= 1 return result 递归实现 先来确定递归函数的两个要素: 递归规律:n!=1 * 2 * 3 * ... * n = (n

【Python基础】循环嵌套

感情迁移 提交于 2019-12-26 02:42:45
Python 语言允许在一个循环体里面嵌入另一个循环。 Python for 循环嵌套语法: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) Python while 循环嵌套语法: while expression: while expression: statement(s) statement(s) 你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。 以下实例使用了嵌套循环输出2~100之间的素数: #!/usr/bin/python# -*- coding: UTF-8 -*- i = 2while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, " 是素数" i = i + 1 print "Good bye!" 以上实例输出结果: 2 是素数3 是素数5 是素数7 是素数11 是素数13 是素数17 是素数19 是素数23 是素数29 是素数31 是素数37 是素数41 是素数43 是素数47 是素数53 是素数59 是素数61 是素数67