10.了解Python3的类型注解么?

答:在 Python 3.5 中,Python PEP 484 引入了类型注解(type hints)

类型注解(type hints)的好处是:

1).让别的程序员看得更明白。

2).让 IDE 了解类型,从而提供更准确的代码提示、补全和语法检查(包括类型检查,可以看到 str 和 float 类型的参数被高

亮提示)

3).这种类型注解实际上只是一种类型提示,对运行实际上是没有影响的,

比如调用 add 方法的时候,我们传入的不是 int 类型,而是一个 float 类型,它也不会报错,也不会对参数进行类型转换。

4).如:

def add(x:int, y:int) -> int: return x + yprint(add.__annotations__)

#在add.__annotations__,在函数的 __annotations__ 属性中会有你设定的注解。

图1

11.例举你知道 Python 对象的命名规范,例如方法或者类等。

答:

(1)类:总是使用首字母大写单词串,如 MyClass。内部类可以使用额外的前导下划线。

(2)变量:小写,由下划线连接各个单词。方法名类似.

(3)常量:常量名所有字母大写等。

12.Python 中的注释有几种?

答:总体来说分为两种,单行注释和多行注释。

(1)单行注释在行首是 #。

(2)多行注释可以使用三个单引号或三个双引号,包括要注释的内容。

图2

13.如何优雅的给一个函数加注释?

答:可以使用 docstring 配合类型注解。

函数注释通常在 def 语句下方,第一行表示函数用法,接下来对函数接受的参数进行解释,

最后对函数的返回值进行注释,方便他人理解函数的用法。

14.如何给变量加注释?

答:可以通过变量名:类型的方式如下

a: str = "this is string type"

15.Python 代码缩进中是否支持 Tab 键和空格混用。

答:不允许tab键和空格键混用,这种现象在使用 sublime 的时候尤为明显。一般推荐使用 4 个空格替代 tab 键。

16.是否可以在一句 import 中导入多个库?

答:可以是可以,但是不推荐。因为一次导入多个模块可读性不是很好,所以一行导入一个模块会比较好。

同样的尽量少用 from modulename import *,因为判断某个函数或者属性的来源有些困难,不方便调试,可读性也降低了。

17.在给 Py 文件命名的时候需要注意什么?

答:给文件命名的时候不要和标准库库的一些模块重复,比如 abc。 另外要名字要有意义,不建议数字开头或者中文命名。

使用全小写或者下划线进行命名。

18.例举几个规范 Python 代码风格的工具

答:pylint 和 flake8、YAPF,谷歌开发的代码规范工具。

Black,依赖Python3.6+的第三方库,可以直接将原代码变为符合PEP8标准的代码。

数据类型

字符串

19.列举 Python3 中的基本数据类型?

答:六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

我们所说的"类型"是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

counter = 100 # 整型变量miles = 1000.0 # 浮点型变量name = "runoob" # 字符串print (counter)print (miles)print (name)

20.如何区别可变数据类型和不可变数据类型

答:以下所有的内容都是基于内存地址来说的。

  不可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,

对于这种数据类型,就称不可变数据类型。

  可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,

对于这种数据类型,就称可变数据类型。

  总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变。

-----------------------------

在python中数据类型有:整型,字符串,元组,集合,列表,字典。

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

----------------------------

21.将"hello world"转换为首字母大写"Hello World"

打开终端,进入python3.8

输入:

arr = "hello world".split(" ")new_str = f"{arr[0].capitalize()} {arr[1].capitalize()}"print(new_str)

Hello World

22.如何检测字符串中只含有数字?

答:Python的语法,字符串类型自带函数isdigit(),当字符串中只存在数字返回True,反之返回False。

可以综合使用any和isdigit方法:

def hasNumbers(inputString):

... return any(char.isdigit() for char in inputString) #return与has对齐,但在def之后

... #要回车下去

>>> hasNumbers("I own 1 dog")

True

>>> hasNumbers("I own no dog")

False

可以使用正则表达式:

>>> import re

>>> def hasNumbers(inputString):

... return bool(re.search(r'd', inputString)) #return与has对齐,但在def之后

... #要回车下去

>>> hasNumbers("I own 1 dog")

True

>>> hasNumbers("I own no dog")

False

图3

23.将字符串"ilovechina"进行反转

答:

s1 = "ilovechina"[::-1]

print(s1)

结果:

anihcevoli

24.Python 中的字符串格式化方式你知道哪些?

答:format()是最先进的。

三种字符串格式化方法

1).最方便的

print ('hello %s and %s' % ('df', 'another df'))

结果:

hello df and another df

2).最好用的

print('hello %(first)s and %(second)s' % {'first':'df', 'second':'another df'})

结果:

hello df and another df

3).最先进的

print ('hello {first} and {second}'.format(first='df', second='another df'))

结果:

hello df and another df

图4

25.有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。

答:

方法一:

def strip(string): start, end = 0, -1 length = len(string) for i in range(length): if string[i] != ' ': start = i break for j in range(-1, -length, -1): if string[j] != ' ': end = length + j + 1 break  return string[start:end]s = ' adabdw 'print(s)

方法二:

def strip_function(s1): return s1.strip()s1 = " adabdw "print(strip_function(s1))

26.获取字符串”123456“最后的两个字符。

答:“123456”[4:6:]或“123456"[-2::]

即:

a = "123456"

print(a[4:6:])

或者

print(a[-2::])

27.一个编码为 GBK 的字符串 S,要将其转成 UTF-8 编码的字符串,应如何操作?

答:

a= "S".encode("gbk").decode("utf-8",'ignore')print(a)

28.

(1)s="info:xiaoZhang 33 shandong",用正则切分字符串输出['info', 'xiaoZhang', '33', 'shandong']

我们需要根据冒号或者空格切分

import res = "info:xiaoZhang 33 shandong"res = re.split(r":| ", s)print(res)

(2) a = "你好 中国 ",去除多余空格只留一个空格。

答:

s = "你好 中国 "print(" ".join(s.split()))

29. (1)怎样将字符串转换为小写

答:

(1) 使用字符串的 lower() 方法。

(2)单独使用单引号和双引号没什么区别,但是如果引号里面还需要使用引号的时候,

就需要这两个配合使用了,然后说三引号,同样的三引号也分为三单引号和三双引号,

两个都可以声名长的字符串时候使用,如果使用 docstring 就需要使用三双引号。

python list去掉引号_最新的python面试题集170之三(基础性学习)相关推荐

  1. python字符串去掉空行_从python中的字符串中删除空格

    python字符串去掉空行 如何在python中删除字符串中的空格 (How to remove whitespaces in a string in python) str.lstrip()str. ...

  2. python的知识体系_最新Python知识体系梳理

    课程目录 Day01 Python教程:01.前提概要.wmv Python教程:02.Python基础复习.wmv Python教程:03.Python基础复习.wmv Python教程:04.Py ...

  3. python编辑器编程猫_编程猫Python编辑器最新下载_编程猫Python编辑器官方正式版v1.2.0_点点游...

    随着科技的发展,现在程序员是一个市场需求很大的职位,而且很多小朋友也对编程产生了兴趣,如今Python是一个发展前景很好的编程语言,今天小编推荐一款可以适合小朋友的编辑软件,可以让小朋友们制作一些有趣 ...

  4. python积木编程软件_最新海龟编辑器(Python编辑器)v0.6.1 官方版下载地址电脑版-锐品软件...

    海龟编辑器是编程猫推出的一款Python编辑器,专门针对少儿Python学习,让孩子通过简单的方式,爱上Python,学会Python,软件界面简洁,使用方便,想要快速学习Python的用户,不妨试试 ...

  5. python参数是什么_最全Python快速入门教程,满满都是干货

    Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力. Python的语法和动态类型具有其解释性质,使其成为 ...

  6. python变量定义大全_详解python变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是大小写英文,数字 ...

  7. python模块下载过程_常用的python模块及安装方法

    bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUti ...

  8. python展开函数方法_逐步展开Python详细教学—Python语法

    Python语法–在Python世界迈出第一步 我们已经拥有了许多的编程语言,而且都有自己的特色,但是一种语言的独特之处在于它的特性.最终,是它的特点让它被选中或通过项目.因此,在开始更深入的Pyth ...

  9. python数据科学手册_小白入门Python数据科学

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

最新文章

  1. 138.ssm 框架下 导出Excel
  2. 【Java基础】基本类型与运算
  3. 一种可以穿透还原卡和还原软件的代码
  4. Android:如何将Enum放入捆绑包中?
  5. Random类实例--猜数字游戏
  6. [!] Attempt to read non existent folder `***********`
  7. oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
  8. 软件测试之-测试用例写作规范
  9. 【python基础】--常用数据结构
  10. Python tkinter库之Canvas正方形旋转
  11. 混沌数学之Lorenz(洛伦茨)吸引子
  12. 华为全球发布UMTS终端商用新品
  13. 谷歌发布最强AI机器人AlphaGo Zero,融360拟融资3亿美元即将赴美上市 | 大数据周周看
  14. 约束最优化求解-拉格朗日函数Hesse阵的SQP二次规划方法求解约束最优化问题-梯度法求解无约束最优化问题
  15. 关于用transmac黑苹果制作引导盘无法识别
  16. Subspace Adversarial Training
  17. PAKDD 2019 AutoML 挑战赛圆满落幕,中国队伍包揽前三...
  18. 数学的三大核心领域——几何学范畴
  19. G中国固定式氨气检测仪行业应用状况与发展趋势预测报告2022-2028年
  20. 使用ffmpeg将avi转mp4以及yuyv转为图片

热门文章

  1. 如何有效利用SD-WAN改善网络性能?
  2. 部署SD-WAN后网络安全挑战仍然存在—Vecloud
  3. SDN的实现思路—Vecloud微云
  4. C2146和C4430错误:循环引用错误
  5. react结合ts与mobx环境搭建步骤详解
  6. vsim生成VCD波形文件(verilog)
  7. java个人学习笔记:javaBean
  8. JS禁止input表单元素手动输入方法(转)
  9. IE8 chrome 中 table隔行换色解决办法
  10. 2021年春节联欢晚会第三次联排亮点多