1、列表(list)和元组(tuple)有什么区别?

在我每一次应聘Python 数据科学家 的面试中,这个问题都会被问到。所以对这个问题的答案,我可以说是了如指掌。

列表是可变的。创建后可以对其进行修改。

元组是不可变的。元组一旦创建,就不能对其进行-改。

列表表示的是顺序。它们是有序序列,通常是同一类型的对象。比如说按创建日期排序的所有用户名,如["Seth","Ema","Eli"]。

元组表示的是结构。可以用来存储不同数据类型的元素。比如内存中的数据库记录,如(2,"Ema","2020–04–16")(#id,名称,创建日期)。

2、如何进行字符串插值?

在不导入Template类的情况下,有3种方法进行字符串插值。

name=Chris#

1、fstringsprint(fHello{name})#

2、*operatorprint(Hey*s*s*(name,name))#

3、formatprint("Mynameis{}"、format((name)))

3、“is”和“==”有什么区别?

在我的Python职业生涯的早期,我认为它们是相同的,因而制造了一些bug。所以请大家听好了,“is”用来检查对象的标识(id),而“==”用来检查两个对象是否相等。我们将通过一个例子说明。创建一些列表并将其分配给不同的名字。请注意,下面的b指向与a相同的对象。

a=[1,2,3]b=ac=[1,2,3]

下面来检查是否相等,你会注意到结果显示它们都是相等的。

print(a==b)print(a==c)#=>;True#=>;True

但是它们具有相同的标识(id)吗?答案是不。

print(aisb)print(aisc)#=>;True#=>;False

我们可以通过打印他们的对象标识(id)来验证这一点。

print(id(a))print(id(b))print(id(c))#=>;

#=>;

#=>;

你可以看到:c和a和b具有不同的标识(id)。

4、什么是装饰器(decorator)?

这是每次面试我都会被问到的另一个问题。它本身就值得写一篇文章。如果你能自己用它编写一个例子,那么说明你已经做好了准备。

装饰器允许通过将现有函数传递给装饰器,从而向现有函数添加一些额外的功能,该装饰器将执行现有函数的功能和添加的额外功能。

我们将编写一个装饰器,该装饰器会在调用另一个函数时记录日志。

编写装饰器函数logging。它接受一个函数func作为参数。它还定义了一个名为log_function_called的函数,它先执行打印出一些“函数func被调用”的信息(print(f{func}called、)),然后调用函数func()。较后返回定义的函数。

deflogging(func):deflog_function_called():print(f{

func

}

called、

)

func()returnlog_function_called

让我们编写其他两个函数,我们较终会将装饰器添加到其中(但还没有)。

defmy_name():print(chris)deffriends_name():print(naruto)my_name()friends_name()#=>;chris#=>;naruto

现在将装饰器添加到上面编写的两个函数之中。

@loggingdefmy_name():print(chris)@loggingdeffriends_name():print(naruto)my_name()friends_name()#=>;;called、#=>;chris#=>;;called、#=>;naruto

现在,你了解了如何仅仅通过在其上面添加@logging(装饰器),就能够轻松地将日志添加到我们编写的任何函数中。

5、解释Range函数

Range函数可以用来创建一个整数列表,一般用在for循环中。它有3种使用方法。

Range函数可以接受1到3个参数,参数必须是整数。

请注意:我已经将range的每种用法包装在一个递推式构造列表(listcomprehension)中,以便我们可以看到生成的值。

用法1-range(stop):生成从0到参数“stop”之间的整数。

[iforiinrange(10)]#=>;[0,1,2,3,4,5,6,7,8,9]

用法2-range(start,stop):生成从参数“start”到“stop”之间的整数

[iforiinrange(2,10)]#=>;[2,3,4,5,6,7,8,9]

用法3-range(start,stop,step):以参数“step”为步长,生成从“start”到“stop”之间的整数。

[iforiinrange(2,10,2)]#=>;[2,4,6,8]

6、定义一个名为car的类,它有两个属性:“color”和“speed”。然后创建一个实例并返回“speed”。

classCar:def__init__(self,color,speed):self、color=colorself、speed=speedcar=Car(red,100mph)car、speed#=>;100mph

7、Python中的实例方法、静态方法和类方法有什么区别?

实例方法:接受self参数,并且与类的特定实例相关。

静态方法:使用装饰器@staticmethod,与特定实例无关,并且是自包含的(不能修改类或实例的属性)。

类方法:接受cls参数,并且可以修改类本身。我们将通过一个虚构的CoffeeShop类来说明它们之间的区别。

classCoffeeShop:specialty=espressodef__init__(self,coffee_price):self、coffee_price=coffee_price#instancemethoddefmake_coffee(self):print(fMaking{self、specialty}for${self、coffee_price})#staticmethod@staticmethoddefcheck_weather():print(Itssunny)#classmethod@classmethoddefchange_specialty(cls,specialty):cls、specialty=specialtyprint(fSpecialtychangedto{specialty})

CoffeeShop类有一个属性specialty,默认值设为“espresso”。CoffeeShop类的每个实例初始化时都使用了coffee_price这个属性。同时,它还有3个方法,一个实例方法,一个静态方法和一个类方法。

让我们将coffee_price的值设为5,来初始化CoffeeShop的一个实例。然后调用实例方法make_coffee。

coffee_shop=CoffeeShop(5)coffee_shop、make_coffee()#=>;Makingespressofor$5

现在我们来调用静态方法。静态方法无法修改类或实例状态,因此通常用于工具函数,例如,把2个数字相加。我们这里用它来检查天气。天气晴朗。太好了!

coffee_shop、check_weather()#=>;Itssunny

现在让我们使用类方法修改CoffeeShop的属性specialty,然后调用make_coffee()方法来制作咖啡。

coffee_shop、change_specialty(dripcoffee)#=>;Specialtychangedtodripcoffeecoffee_shop、make_coffee()#=>;Makingdripcoffeefor$5

注意,make_coffee过去是用来做意式浓缩咖啡(espresso)的,但现在用来做滴滤咖啡(dripcoffee)了!

慈溪计算机编程培训,慈溪Python编程培训相关推荐

  1. python编程入门电子书-Python编程基础 PDF 原书高质量版

    给大家带来的一篇关于Python入门相关的电子书资源,介绍了关于Python编程基础.Python编程教程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小6 MB,张健 张良均编写,目前 ...

  2. 青少年编程 电子学会python编程等级考试一级真题解析(选择题)2021-03

    青少年编程 电子学会python编程等级考试一级真题解析2021-3 一.选择题(共25题,每题2分,共50分) 1.下列哪个操作不能退出IDLE环境? A.Alt+F4 B.Ctrl+Q C.按ES ...

  3. 余姚计算机编程培训,余姚python编程培训

    余姚python编程培训 首页 > python > 余姚python编程培训 作者:镀金池   发布时间:2018-11-05 另外,用户在练习程序后,还可以议决在 Kubernetes ...

  4. 北京少儿编程培训,python编程基础教育最后的金矿

    去年初教育部明确取消奥数高考加分后,业内人士也曾分析觉得少儿编程也许是2019年度基础教育的zui后金矿.不过他们这样的说法也不是毫无道理而言,因为现在浙江.上海的一部分高校把编程作为正常的考试科目, ...

  5. 想学python编程-想学Python编程?你真的适合吗?

    原标题:想学Python编程?你真的适合吗? 有的人说我想学什么.我想干什么,很多时候都是头脑发热,单凭一腔热血,可是这样的路即便走上去你又能坚持多久呢?所以,每每有人问我学Python编程怎么样,我 ...

  6. python如何编程-如何入门Python编程

    Python目前已经成为受欢迎的编程语言之一,吸引了一大批粉丝,但是很多人在要跨入的时候犹豫了,原因竟然是觉得学习Python太难了,真的是这样吗?入门Python编程学习有什么好的技巧吗? Pyth ...

  7. python编程是啥-Python编程

    随着人工智能时代的来临,编程语言的热度居高不下,随着智能机器人的出现,在2020年更是迎来一波新的高峰.在这样的大环境下,关于谁是人工智能最流行编程语言的讨论也十分热烈,C.C++.Java.Pyth ...

  8. python编程课程-天津Python编程课程

    天津Python培训学校怎么选 Python近几年非常火热的编程语言,在网络爬虫.机器学习.人工智能.数据分析等领域得到广泛应用,现在国家计算机二级考试也有了Python的身影,但高校并没有相关课程, ...

  9. 小学生python编程教程-小学生python编程在线教育-小码精灵编程线上教育机构

    导语概要 为什么要学习少儿编程?能培养孩子的耐心与专注能力.编程的严谨性决定了任何小的失误都将导致程序无法正常运行.因此在编写程序的过程中需要不断地调试.试错,无形之中就可以提高孩子的耐性和专注力.如 ...

  10. python中小学生编程学习-小学生python编程在线教育-小码精灵编程线上教育机构...

    导语概要 为什么要学习少儿编程?能培养孩子的耐心与专注能力.编程的严谨性决定了任何小的失误都将导致程序无法正常运行.因此在编写程序的过程中需要不断地调试.试错,无形之中就可以提高孩子的耐性和专注力.如 ...

最新文章

  1. Flutter学习记录(三、Flutter项目学习navBar的使用)
  2. junit:junit_简而言之,JUnit:Hello World
  3. mysql schema命名规范_数据库设计 命名及编码规范
  4. html代码范例_最佳HTML范例和HTML5范例
  5. 两个表点击分页的时候怎么判断点的是哪一个表_如何对指数估值,估值表怎么用?...
  6. VMware Cloud Director 10.3.1 - 云计算调配和管理平台
  7. c语言饭卡管理系统_C语言饭卡管理系统毕业设计(含毕业论文、程序源码)论文字数:15422字 C0004-C语言毕业设计下载-华软网...
  8. mysql 多条件求和_多条件求和的8种方法【Excel分享】
  9. 解决Eth0网卡不存在的情况_wuli大世界_新浪博客
  10. 云计算的特点,主要有哪些?
  11. 京东健康IPO:枪口对准阿里健康
  12. nginx证书绑定及二级域名反向代理
  13. php数据结构 链表,php数据结构-单链表
  14. 观点丨DALL-E 2、AI研究的未来以及OpenAI的商业前景
  15. 2020考研,老学长帮你规划
  16. Codeforces Global Round 23 E CF1746E Joking (Hard Version)
  17. R语言︱异常值检验、离群点分析、异常值处理
  18. 小学生五星分期,钉钉在线求饶
  19. MOS管工作原理及特性
  20. 下载的视频太大无法放进u盘

热门文章

  1. 检测硬盘使用时长_如何检测硬盘问题
  2. Open3d学习计划—高级篇 3(点云全局配准)
  3. 学习RPG Maker MZ开发创建并发布PC和移动端游戏
  4. ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
  5. 两个类相互包含引用的问题--类前向声明
  6. 递归和循环:跳台阶和变态跳台阶和矩形覆盖
  7. RenderTree渲染树
  8. 创建第一个 local network(I) - 每天5分钟玩转 OpenStack(80)
  9. 白话spring依赖注入
  10. adb logcat命令查看并过滤android输出log