首页 > 编程语言 >一篇文章教会你什么是Python模仿强类型

一篇文章教会你什么是Python模仿强类型

时间:2023-04-26 11:32:37浏览次数:48  
标签:一篇 Python 注释 所示 字符串 类型 模仿 name


此曲只应天上有,人间难得几回闻。

前言

    Hi,各位小伙伴,你们好,今天我们来说一个Python未来趋势的并且一个好玩的东西。

    我们可能多多少少都听过一句话,动态一时爽,重构火葬场。从生产角度出发,Python确实是一门很优秀的语言,但是当多人协作时,或者接手别人Python代码时,估计是有些头疼的。

    Python虽然生产力高,语法强大,具备动态语言的灵活性,但是也正是因为这样,估计每个人写的代码有很大差别,那有没有什么办法尽可能的避免这种情况呢?

    关于这个,Python前辈也发现这个弊病,所以,在Python3.6之后,推出了"Python类型注释"。

    来吧,各位,上车吧,我们一起看一下。

环境

Python解释器 3.6+

    关于Python版本,尽可能的选择Python3.6+,因为在Python3.6+之后,在Python的异步彻底崛起,虽然目前处于测试阶段,但是我相信,用不了多久,Python一定会更加优秀。

一个简单的例子

def speak(name,age):
   print(name,age)


speak("张三","18")

    我们可以很清晰的知道,speak函数的name参数,接收的一定是个字符串,并且以后我也希望它接收的一直是字符串,传统的写法如上,当然,现在我也是这么写,毕竟我太赖了。

    但是现在有个很简单的需求,我想把name接收的参数都转成大写,so,我们都知道字符串有upper方法。

print("stark".upper())

    但是当我们敲“.”符号的时候,有时候可能并不会出现自动提示,但是name确实是字符串。

    注:Pycharm可能会提示出来,但是有时候会失败,这要归功于Pycharm强大的提示功能,但并不是万能的,如下图所示。

一篇文章教会你什么是Python模仿强类型_人工智能

    这很正常,因为Python是动态语言,变量什么类型只有解释到才知道。

    我们将代码稍微改一下,如下图所示。

一篇文章教会你什么是Python模仿强类型_人工智能_02

    我们在参数后面加上:str,就表示我希望我接收的参数类型是字符串,如果我传的是数字类型,如下图所示。

一篇文章教会你什么是Python模仿强类型_字符串_03

    Pycharm or Vscode出现飘黄警告,如下图所示。

一篇文章教会你什么是Python模仿强类型_人工智能_04

    期望的类型'str',得到却是'int'。

    并且在敲入点号的时候,只要是主流的编辑器,都会自动提示,如下图所示。

一篇文章教会你什么是Python模仿强类型_人工智能_05

声明简单类型

常用几种

一篇文章教会你什么是Python模仿强类型_html_06

不管是函数参数还是声明变量,都是:类型

更多类型

Lists

一篇文章教会你什么是Python模仿强类型_字符串_07

Dicts

一篇文章教会你什么是Python模仿强类型_人工智能_08

一篇文章教会你什么是Python模仿强类型_html_09

+和不+类型注释的效果

下图是+类型注释的效果:

一篇文章教会你什么是Python模仿强类型_python_10

下图是不+类型注释的效果:

一篇文章教会你什么是Python模仿强类型_python_11

函数

一篇文章教会你什么是Python模仿强类型_python_12

感言

    以上只是简单的写了一下入门常用的一些类型注释,个人认为基本够用。

    小编相信,有人一定会说,这样写和静态语言有什么区别或者说这样写毕竟累,并且复杂,但是有些付出是必须的,毕竟开发软件不是一个人在开发,并且新库和新项目已经陆陆续续在使用以上方法,相信普及是个时间问题。

    类型注释不仅方便自己观看以前的代码,也方便别人阅读自己的代码,小编认为很有必要学习一下。

 

标签:一篇,Python,注释,所示,字符串,类型,模仿,name
From: https://blog.51cto.com/u_13389043/6226757

相关文章

  • 力扣 819. 最常见的单词--python
    给定一个段落(paragraph)和一个禁用单词列表(banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。 示例:输入:paragraph......
  • python 使用selenium 不开启浏览器
    selenium不启动浏览器模式打开浏览器再启动会浪费时间,对爬虫的性能也是个影响,还有一种就是不打开浏览器。如下参数是针对chrome的全局参数,不能自定义参数。fromseleniumimportwebdriver#还有一些其他的参数'''#添加UAoptions.add_argument('user-agent="MQQBrowser/26......
  • Python的socket编程
    目前处在学习python爬虫的阶段,昨天看到了python的socket模块,分别实现TCP、UDP时间戳回显。1、tcp通信server和client代码#tcpServer.py#!/usr/bin/python#-*-coding:utf-8-*-fromsocketimport*fromtimeimportctimeHOST=''PORT=21156BUFSIZE=1024ADD......
  • python open 用法
    函数语法open(file,mode,buffering,encoding,errors,newline,closefd,opener)参数说明:name:一个包含了你要访问的文件名称的字符串值。mode:mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读......
  • python 快速替换csv数据集字符串列表中的表情符号为空,asyncio,re,pandas
     传统的字符串列表替换字符串使用遍历非常慢比如下面这段代码,如果处理几十万或上百万的数据集时,会非常的慢,几小时几天都可能importrep=re.compile(u'['u'\U0001F300-\U0001F64F'u'\U0001F680-\U0001F6FF'u'\u2600-\u2B55\U00010000-\U0010ffff]+')#text="超详细修......
  • python安装pillow报错
    Fatalerrorinlauncher:Unabletocreateprocessusing'"D:\ProgramFiles\Python311\python.exe" "D:\ProgramFiles\Python311\Scripts\pip.exe"installpillow':??????????? 解决:cmd窗口执行32位:python3-mpipinstall--up......
  • Python爬虫基础之三
    Python爬虫基础包括HTTP协议、HTML、CSS和JavaScript语言基础、requests库的使用、BeautifulSoup库的使用、xpath和正则表达式的使用等。此外,还应该了解反爬虫机制和爬虫的一些常见问题及解决方法。上一篇文章讲解了有关条件判断语句、循环语句、元组、字典等相关知识,本节将围绕......
  • python 画思维导图
    1.安装Graphviz要安装Graphviz,可以按照以下步骤操作:前往Graphviz官网前往Graphviz官网(https://graphviz.org/)。https://graphviz.org/download/下载适合你操作系统的安装文件在官网首页中,你可以看到Windows、macOS和Linux三个操作系统的图标。选择适合你操作系统......
  • python 装饰器
    装饰器(Decorators)是Python的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。......
  • python多继承
    顺序,初始化从右往左classHuman(object):...classFather(Human):def__init__(self):super().__init__()self.test1="父亲"classMother(Human):def__init__(self):super().__init__()self.test1="母亲&quo......