python之类型提示
Python 3.6+ 版本加入了对”类型提示”的支持。通过声明变量的类型,编辑器和一些工具能给你提供更好的支持。 示例当我们在使用python写一段代码的时候,如果遇到下面这种情况: 12def funcname(param1,param2): print(param1.split('')) 如果我们想要对函数传递的某些参数进行一些操作的话,在使用一些内置方法的时候,我们通常会依赖python的联想功能,但是在这种情况下,一切都不管用,因为编辑器根本不知道参数是什么类型,所以更不知道可以做什么操作。就像下面这样: 但是,我们加上类型提示之后,一切都会变得不一样。而所谓的类型提示就是告诉编辑器,这到底是一个什么类型的参数,如下: 这样我们就能够正确的去实现编辑器的联想功能了。但是….类型提示仅限于此吗?并非如此,类型提示可以帮助我们规范参数类型,自动过滤某些非法参数,防止SQL注入等安全问题。 更多普通类型普通类型即我们常见的类型,如:int、float、bool、bytes这些类型使用方式如上,在函数参数处声明使用。 嵌套类型嵌套类型指该类型内部...
装饰器
12from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = 'all' 装饰器(Decorators)装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。 1234567891011121314def hi(name=" world"): return "hello" + namehi() # 我们甚至可以将一个函数赋值给一个变量,比如greet = hi# 我们这里没有在使用小括号,因为并不是在调用hi函数# 而是在将它放在greet变量里头。尝试运行下这个greet()# 如果删掉旧的hi函数del hi# hi() # 报错 greet() 12345'hello world''hello world'...
python之__init__.py
神奇的__init____init__一般在两种情况下会出现,第一种是以在class(类)当中以函数形式出现,如下: 1234class test(object): def __init__(self,name,age): self.name = name self.age = age 第二种情况则是以__init__.py文件的形式出现在文件夹下。两种不同的情况虽然使用了相同名字的定义,但是其作用可以说类似又可以说不同。 def __init__(self)__init__属于魔法函数的一种,之所以说是一种其原因是因为魔法函数是一个大家族,常见的:__ str__()、__ new__()、__ unicode__()、__ call__()、__ len__()、__repr__()等等都是魔法函数, 什么是魔法函数?魔法函数一种python的高级用法,一般情况下不是很常见,魔法函数允许使用者在定义类的时候将其绑定在其中,一般格式以两个下划线开始并以两个下划线结束。以__init__为例,该函数允许在实例化类的时候给变量申请内存空间并赋予初...
vscode离线远程开发配置
起因由于各种原因,在开发过程当中需要做到网络的物理隔绝,因此离线部署环境或者部署开发工具就成为了面临的重大难题,尤其是当需要配置vscode离线远程开发的时候。当然使用pycharm可能不需要这么麻烦,但是个人习惯导致自己觉得vscode更加顺手,同时也更加美观,在后续的vscode更新当中丰富的插件也让我难以割舍,因此配置离线环境下vscode的远程安装就成了一大难题。 操作下载VScode首先在Vscode官网:https://code.visualstudio.com/ 点击下载;在浏览器或者下载软件中就可以看到一个下载地址如下图所示,由于国内下载速度非常缓慢,可以将图中红框内的链接部分:az764295.vo.msecnd.net替换为国内镜像:vscode.cdn.azure.cn来提升下载速度。 插件下载与安装在插件商店搜索插件,直接点击这里就能跳转到插件的页面上去,页面上提供离线包的下载,直接下载就行。 **注意:**插件伴随着vscode版本的更新而更新,因此需要注意版本的对应关系。 插件的离线安装离线安装如下,选中安装包即可 配置远程开发环境在离线状态下...
python数据校验
什么是数据校验?在实际的开发过程当中,我们往往会面临很多需要数据对接的情况,这时候一个函数可能需要处理一个或者多个数据参数,也就是说函数的参数面临着多且不确定性,参数本身不确定性还伴随着在传递过程当中是否符合规范的问题。以python函数为例,以下是随意写法和标准写法: 1234567891011121314151617181920212223# 随意def max(a,b): if a>b: return a elif a<b: return b return 0# 建议的标准写法def max(a:int=0, b:int=0)->int: """ 这里描述函数的功能 :param a: 参数描述 :param b: 参数描述 :returns: 返回描述 :raises keyError: 可能的错误捕获描述 """ if a>b: return a elif a&...
python代码片段(vscode)
在最新的vscode的python插件更新后,不提供代码片段的功能,因此要自己手添加用户代码片段。使用方法如下: 复制下方给出的代码片段 打开vscode 左下角设置->用户代码片段->python.json 全部删掉后替换成刚刚复制的内容 再次使用后vscode提供代码片段联想功能,输入部分代码后可提供多种代码格式,如下图: 可根据代码片段书写格式自定义代码片段。代码片段如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135...
详解post与get
POST和GET网络请求有OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT这常见的几种方式,其中最常见也就是post与get方法,在开发过程当中常常会遇到一个问题,这个接口到底是使用post请求好一点还是使用get请求好一点?两者到底有什么区别?这篇文章就将给出对应的解释。 对post与get区别的错误理解get安全性非常低,post安全性较高一般来说,在对新手上手的时候会跟他说这样的话,并说get是能够明文看见的,但是post不行…这个说法是有一定道理的,对于完全不知道情况的普通用户来说,安全一点确实有道理,因为从浏览器的地址上确实看不到post请求的参数,url链接也变短了,但是不代表数据被完全隐藏,实际上通过简单的开发者工具抓包就能够看到明文数据。因此某些极小的点上可以说安全,但是实际上可能并不安全。 get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。这个说法其实是指当我们使用get请求的时候,参数会直接被显示在url当中如:https://www.duitang.com/blog/?id=...
hello world
hello world12345678910#FileName: HelloWorld.java public class HelloWorld #如果有 public 类的话,类名必须和文件同名,注意大小写 { #Java 入口程序,程序从此入口 public static void main(String[] args) { #向控制台打印一条语句 System.out.println("Hello,World!"); } } 123456#include <stdio.h> int main() #main 入口函数 { printf("Hello,World!"); #printf 函数打印 return 1; #函数返回值 } 1234567891011#include <iostream> ...





/封面.png)






