- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 关于在python中避免if分支太多,提高方法的可读性
在很多场景下,我们可能需要写大量的if else分支来进行判断,然后根据结果再进入下一步的业务逻辑。这样可能导致一个方法的行数会大大增加,增加阅读的难度,并且健壮性变差。目前只想到了2种场景下,代替if else 的方案。以优化下面代码为例,下面是原代码:def slove(): number = input("please input a number, limit...
2019-12-27 15:23:55 5271
原创 fraefik踩坑
fraefik踩坑一、安装二、部署最近go的项目准备上一个代理程序,了解到traefik也是go写的。然后看了看它的文档(traefik中国),觉得很棒,那就撸起袖子干吧。raefik 是一个HTTP层面的反向代理和负载均衡, 用 Go 编写, 有的功能包括:没有依赖带熔断器证书支持无缝重启支持多个后端:Docker/Kubernetes等(最新版要比旧版支持的少)自带一个简单的w...
2019-12-04 22:37:09 271
原创 golang-函数
函数定义一个函数结构如下:func function_name( [parameter list] param type ) [return_types] { 函数体}参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。函数声明告诉了编译器函数的名称,返回类型,和参数,且必须有一个main函数。所有的函数参数都是值拷贝传入的,函数参...
2019-11-03 09:55:50 232
原创 golang-循环控制语句
GO中循环控制有下面3种方式break,跳出最近的一层循环并执行下面的语句 continue,跳出本次循环的剩余语句,执行下次循环 (也支持跳转到标记语句) goto,将控制转移到被标记的语句 (几乎不用)使用break lable 和 goto lable 都能跳出for循环,不同之处在于:break的标签只能用于for循环且标签后不能接表达式,且要与for语句相邻,标签位于fo...
2019-11-02 17:41:52 312
原创 golang-运算符、条件语句
运算符算术运算符+ - * / % ++ --关系运算符== != >= <= > < # bool逻辑运算符(相当于python中的and ,or ,not)&& || !赋值运算符(=都在右边)= +=...
2019-11-02 13:51:01 4543
原创 golang-占位符、编码
占位符一般占位符符号 说明 %v 相应值的默认格式, 一般用在输出结构体数据中 %+v 在打印结构体时,默认格式,会添加字段名 %#v 相应值的 Go 语法表示 %T 打印类型 %% 字面上的百分号,并非值的占位符 示例type person struct { age int name string}func...
2019-11-02 12:59:06 591
原创 golang-常量
常量使用constant关键字进行定义常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型常量的定义格式:const identifier [type] = value当然,也可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。显式类型定义:const Astring = "abc" 隐式类型定义:const A= "a...
2019-11-02 11:04:40 757
原创 golang-变量,值类型与引用类型
变量Go中使用全新的关键字var来声明变量,属于强类型,在声明变量后就不允许改变其数据类型。var a int //声明一个int类型的变量var ( 结构体// 同时声明多个变量 a int b bool)var a,b,c int // 同时声明多个变量var a = 1 // 声明变量的同时赋值,编译器自动推导其数据类型tips,关于 a...
2019-11-02 09:52:21 539
原创 文章目录
python部分Python--魔法方法(部分)python complex函数python避坑篇python部分高级用法python开发手册python内置函数(下)python内置属性,函数python异常处理python lambda函数golang部分go-特点golang-包与基本数据类型golang-变量、值类型与引用类型...
2019-11-02 09:21:41 218
原创 golang-包与基本数据类型
使用规则一个文件夹下只能有一个包,同一个包的文件不能再多个文件夹下。 如果文件导入的package不是main包,而是其他名称的包(比如hello),编译时会生成hello.a文件,这个.a文件不是可执行文件,而是用来被导入使用。 在包级别声明的变量,如果有初始化表达式则用表达式初始化,还有一些没有初始化表达式的,例如某些表格数据初始化并不是一个简单的赋值过程。在这种情况下,我们可以用一个...
2019-11-01 21:54:50 291
原创 Golang-特点
1、不支持继承。结构体可以实现类似功能2、面向对象?:yes and no3、与java、python一样,内置gc,不需要我们手动创建、释放变量在内存中的占用。区别是只有go支持指针对内存的直接访问python几乎全是引用传递,而go,统一采用值传递,但提供指针机制,用户可以自己选择数据的传递方式。在编写go时,要充分考虑指针,提高数据访问效率(尤其是传递数据较大时),减少内存复...
2019-11-01 16:51:22 203
原创 Python--魔法方法(部分)
1、__call__如果在类中实现了 __call__ 方法,那么实例对象也将成为一个可调用对象什么是可调用对象?可调用对象:但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable这个魔法方法可以让类的实例行为表现的像函数一样示例:class Demo: def __init__(self, x, ...
2019-11-01 16:12:38 401
原创 Python--避坑篇
1、传递默认参数尽量使用不可变对象为什么默认参数最好为不可变对象?请看下面的例子:def demo(item, item_list=[]): item_list.append(item) print(item_list)demo('iphone') # ['iphone']demo('xiaomi', item_list=['oppo','vivo'])...
2019-07-27 16:17:54 385
原创 Python--部分高级用法
推导式推导式可以说是python语法的亮点之一,写法优雅,功能强大。1、列表推导式使用一句表达式构造一个新列表,可包含过滤、转换等操作,当需要每次输出2个值时,需将其做为一个元组或列表。返回简单元素:res = [i for i in range(10)]print(res) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]返回列表:res ...
2019-07-26 23:01:59 384
原创 Python开发手册
语法规范1、避免在循环中使用len()可以先在循环之外求出length再使用,(len函数的内部也会进行遍历)2、使用is 或 is not,而不使用 == 和 !=。== 、!=只建议用在确定两边都是整形的情况下使用a、再比如:使用iffoo:而不是iffoo!=[]:foo = []if foo: print("true")else:...
2019-07-26 16:37:30 1555
原创 Python--内置函数(下篇)
话不多说,开始1、hasattr函数判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。语法:hasattr(object, name)class A: name = "demo" def show(self): passt = A()res = hasattr(t, "n...
2019-07-25 23:33:26 279
原创 Python--内置属性、函数(常见部分)
内置属性1、__file__在pycharm中,__file__会返回当前文件的绝对路径,而在终端直接运行时,则返回的是文件本身(这是个坑。。在IDE开发的时候运行正常,上线就出问题)。pycharm:print(__file__) # F:/test_demo/demo.py终端: python demo.py # 会输出 demo.py所以要使用绝对路径的话,推...
2019-07-25 22:45:55 2550
原创 Python--异常的处理
作为程序员,在不退休或转型之前,我们就会不停的写代码。而代码总是伴随着各种错误,异常(hello world这种除外- -)。所以了解异常,学会异常的处理就很重要了,也是必修课。先了解一个小知识:Exception:可以认为是python中所以异常的父,也是所有异常的基类。其实在Exception之上还有一个baseException,不过当我们重写或自定义异常时都是继承Exce...
2019-07-24 22:52:47 346
原创 Python--lambda函数
什么是lambda函数?lambda函数,因其组成部分只有参数列表(argument_lsit),表达式(expression)二部分,也被称为匿名函数。语法格式如下lambda argument_list:expression其中,argument_list的形式非常多,可以有以下几种:a, b a=1, b=2 *args **kwargs a, b=1...
2019-07-24 22:01:10 529
转载 理解微服务架构
与传统web应用对比传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等.尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用。例如Java应用程序会被打包成WAR,部署在Tomcat或者Jetty上。这种单体应用比较适合于小项目,优点是:开发简单直接,集中式管...
2019-01-15 16:41:03 220
转载 如何阅读源码
#搜索网上资料阅读一个框架的源码,最基础的操作肯定是扫一遍网上的各种分析文章。通过这个操作,你可以对这个框架有个大致的了解。站在巨人的肩膀上,少走许多弯路。但如果你看的项目是公司内部的框架,那么你只能找公司内部的文档了,更甚者,有些连文档都没有。那么你可以略过这一步。#扫一遍源码当你拿到框架的源码的时候,你可以大致把源码的每个包,以及每个包下面的文件扫读一遍。扫读并不需要你弄清楚每一行...
2019-01-05 19:42:27 175 1
原创 项目重构&性能优化
重构的目标:1.持续偏纠和改进软件设计 2.提升项目整体性能,优化代码结构3.使代码更被其他人所理解 4.帮助发现隐藏的代码缺陷 5.从长远来看,有助于提高编程效率,增加项目进度 重构函数:1.减少临时变量。例如:if (are > 1000) { //XXXXX } //改为 if (self.are > 1000) { //XXXXX }2...
2019-01-05 14:06:45 820
转载 关于数据库中主键与外键
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号...
2018-08-09 12:16:12 389
原创 python complex函数
创建一个复数,real为实部,imag为虚部实例:>>> c=complex(3,4)>>> d=complex(2,5)>>> c*d(-14+23j)复数的乘法按照以下的法则进行:设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+a...
2018-07-25 18:28:35 3468
SSH Shell_17.08.dmg
2019-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人