这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

百年大计,教育为本。

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

中国经济第一大省,正在迈向教育强省。

 

近日,《广东省教育发展“十四五”规划》发布,提出深入实施“冲一流、补短板、强特色”提升计划,加快推进高水平大学建设、建设世界一流大学和一流学科。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

这份规划在高等教育方面有诸多亮点:

1、推动华南农业大学、南方医科大学、广东工业大学、广州医科大学、深圳大学、南方科技大学等高水平大学进入国家“双一流”建设高校范围;

2、提升广州、深圳地区高校建设水平,高标准建设深圳理工大学、深圳海洋大学、深圳创新创意设计学院、广州交通大学等高校。

3、大力推进香港科技大学(广州)建设,加快推动香港城市大学、香港都会大学、香港理工大学、香港大学、澳门科技大学、澳门城市大学等港澳高校来粤办学。

4、支持珠三角其他城市高等教育改革发展,加快筹设大湾区大学、中山科技大学等高校。

5、支持汕头加快打造区域教育高地。支持汕头、湛江打造特色鲜明的高校集群,推进汕头大学、广东海洋大学、广东石油化工学院等围绕海洋科学、生物学、化工、石油、食品、纺织、生物医药等学科专业领域引进和培育高层次人才。

……

 

这意味着什么?

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

广东何以建设教育强省?

 

其一,未来,广东或有11所“双一流大学”。

 

明年,第二批双一流高校建设名单即将公布,双一流大学即将迎来5年一次的大洗牌,有大学晋级自然也有退出。

 

目前,广东已有5所“双一流大学,全部位于广州。包括中山大学、华南理工大学2所一流高校,以及暨南大学、广州中医药大学及华南师范大学3所一流学科建设高校。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

根据规划,2022年,广东将推进1-2所高校入选双一流高校。这其中,综合实力突出的华南农业大学、南方科技大学、深圳大学概率较高。

 

面向更长远的未来,南方医科大学、广东工业大学、广州医科大学也有望晋级双一流高校建设范围。

 

其二,广东将新建一批高校,广州、深圳、东莞、中山等地均有覆盖。

 

根据规划,建设深圳理工大学、深圳海洋大学、深圳创新创意设计学院、广州交通大学等高校……加快筹设大湾区大学、中山科技大学等高校。

 

这其中动作最大的当属深圳。

 

作为中国经济第三大市,深圳高等教育发展水平与经济实力远远不相称,不仅至今双一流高校挂零,而且大学生人数在排在全国末位,甚至不及一些普通二线城市。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

因此,深圳不惜耗费重金,引进港澳及内地的名校在深建设分校,同时大建新一批高等院校。

 

当然,东莞、佛山、中山、珠海等地也纷纷提出建设一批高校,其中最受瞩目的当属东莞的大湾区大学。

 

能以大湾区来冠名,这体现东莞这个制造强市对于一流高等教育的必得之心。目前,大湾区大学已经动工建设,力争2023年实现招生办学。

 

其三,港澳高校纷纷在珠三角建分校,助力大湾区打造国际教育高地。

 

港澳高校综合实力位居世界前列。根据QS2022世界大学排名,香港大学、香港科技大学等5所高校跻身前100,而中山大学、华南理工大学分别位列第260位、407位。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

所以,港澳高校挺进珠三角,不仅有利于提升大湾区整体的教育实力,而且有助于广东教育与国际接轨。

 

目前,香港中文大学(深圳)已经正式招生,香港科技大学(广州)将于2022年开始办学,其他高校也正在筹备或建设之中。

 

其四,作为省域副中心城市,粤东西北地区的湛江、汕头两地被委以重任。

 

根据规划,支持汕头、湛江两个省域副中心城市打造特色鲜明的高校集群,推进汕头大学、广东海洋大学、广东石油化工学院围绕海洋科学、化工等学科培育高层次人才。

 

近年来,广东构建了“一核一带一区”的发展新格局:珠三角是核心区和主引擎,粤东粤西为沿海经济带,粤北则为生态屏障。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

根据相关规划,广东将支持沿海经济带发展海上风电、核电、绿色石化、海工装备等产业。

 

所以,汕头、湛江两地高等教育发展的重点也在于此,以高校科研力量,服务于沿海经济带发展,担起粤东、粤西沿海两翼发展的重任。

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

广东为何要拼命建大学?

 

广东虽然收获了无数个“第一”,但在高等教育上只能称为“大省”,而非“强省”,与北京、上海、江苏等均存在一定差距。

 

数据显示,广东坐拥150多所高校、40多个国家重点实验室,但只有4所211高校、5所双一流大学。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

相比而言,北京拥有34所双一流高校,江苏15所,上海14所,而四川、陕西、湖北也都比广东多。

 

广东虽然在校本专科学生数量位居全国第二,但专科生占了接近一半,同时在校研究生数量不及一些教育强省。

 

数据显示,2020年,广东全省在校研究生人数为15.47万,而同期北京、上海和江苏分别为43万、22.6万和26.6万,而湖北也超过了20万。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

 根据规划,到2025年,广东预期研究生在校生人数达到24万,相比2020年增加55%,这无疑是巨大的挑战。

 

同时,作为制造大省,广东正在担起产业转型升级的重任,从传统的加工制造产业向高新产业的全面转型,更离不开高学历人才的支撑。

 

虽然孔雀东南飞效应依旧,无数大学生从全国各地奔赴广东,但作为第一大省,广东有必要主动培育更多高端人才。

 

所以,从经济强省到教育强省,广东需要全方位“补课”,一场高校大建设不可避免。

◎本文作者 | 凯风

克而瑞统计,一个城市大学生占比越高,房价越抗跌。
广东疯狂建大学,让更多大学毕业生留在广东。
多一张校牌,相当于多了一张“免跌金牌”。

转自:https://mp.weixin.qq.com/s/1xi02mDtEcwd46nD0c0QvA

如何理解 Python 装饰器

推荐关注↓

装饰器简介

装饰器(decorator)是一种高级Python语法。可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广泛的应用。修饰器经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等

装饰器的优点是能够抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。即,可以将函数“修饰”为完全不同的行为,可以有效的将业务逻辑正交分解。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。例如记录日志,需要对某些函数进行记录。笨的办法,每个函数加入代码,如果代码变了,就悲催了。装饰器的办法,定义一个专门日志记录的装饰器,对需要的函数进行装饰。

如何理解 Python 装饰器

Python 的 Decorator在使用上和Java/C#的Annotation很相似,都是在方法名前面加一个@XXX注解来为这个方法装饰一些东西。但是,Java/C#的Annotation也很让人望而却步,在使用它之前你需要了解一堆Annotation的类库文档,让人感觉就是在学另外一门语言。而Python使用了一种相对于Decorator Pattern和Annotation来说非常优雅的方法,这种方法不需要你去掌握什么复杂的OO模型或是Annotation的各种类库规定,完全就是语言层面的玩法:一种函数式编程的技巧。

装饰器背后的原理

在Python中,装饰器实现是十分方便。原因是:函数可以被扔来扔去。

Python的函数就是对象

要理解装饰器,就必须先知道,在Python里,函数也是对象(functions are objects)。明白这一点非常重要,让我们通过一个例子来看看为什么。

def shout(word="yes"):

    **return** word.capitalize() + "!"

print(shout())

# outputs : 'Yes!'

# 作为一个对象,你可以像其他对象一样把函数赋值给其他变量

scream = shout

# 注意我们没有用括号:我们不是在调用函数,

# 而是把函数'shout'的值绑定到'scream'这个变量上

# 这也意味着你可以通过'scream'这个变量来调用'shout'函数

print(scream())

# outputs : 'Yes!'

# 不仅如此,这也还意味着你可以把原来的名字'shout'删掉,

# 而这个函数仍然可以通过'scream'来访问

del shout

**try**:

    print(shout())

**except** NameError as e:

    print(e)

    # outputs: "name 'shout' is not defined"

print(scream())

# outputs: 'Yes!'

Python 函数的另一个有趣的特性是,它们可以在另一个函数体内定义。

def talk():

    # 你可以在 'talk' 里动态的(on the fly)定义一个函数...

    **def** whisper(word="yes"):

        **return** word.lower() + "..."

    # ... 然后马上调用它!

    print(whisper())

# 每当调用'talk',都会定义一次'whisper',然后'whisper'在'talk'里被调用

talk()

# outputs:

# "yes..."

# 但是"whisper" 在 "talk"外并不存在:

**try**:

    print(whisper())

**except** NameError as e:

    print(e)

    # outputs : "name 'whisper' is not defined"

函数引用(Functions references)

你刚刚已经知道了,Python的函数也是对象,因此:

  • 可以被赋值给变量
  • 可以在另一个函数体内定义

那么,这样就意味着一个函数可以返回另一个函数:

def get_talk(type="shout"):

    # 我们先动态定义一些函数

    **def** shout(word="yes"):

        **return** word.capitalize() + "!"

    **def** whisper(word="yes"):

        **return** word.lower() + "..."

    # 然后返回其中一个

    **if** type == "shout":

        # 注意:我们是在返回函数对象,而不是调用函数,所以不要用到括号 "()"

        **return** shout

    **else**:

        **return** whisper

# 那你改如何使用d呢?

# 先把函数赋值给一个变量

talk = get_talk()

# 你可以发现 "talk" 其实是一个函数对象:

print(talk)

# outputs : <function shout at 0xb7ea817c>

# 这个对象就是 get_talk 函数返回的:

print(talk())

# outputs : Yes!

# 你甚至还可以直接这样使用:

print(get_talk("whisper")())

# outputs : yes...

既然可以返回一个函数,那么也就可以像参数一样传递:

def shout(word="yes"):

    **return** word.capitalize() + "!"

scream = shout

**def** do_something_before(func):

    print("I do something before then I call the function you gave me")

    print(func())

do_something_before(scream)

# outputs:

# I do something before then I call the function you gave me

# Yes!

装饰器实战

现在已经具备了理解装饰器的所有基础知识了。装饰器也就是一种包装材料,它们可以让你在执行被装饰的函数之前或之后执行其他代码,而且不需要修改函数本身。

手工制作的装饰器

# 一个装饰器是一个需要另一个函数作为参数的函数

**def** my_shiny_new_decorator(a_function_to_decorate):

    # 在装饰器内部动态定义一个函数:wrapper(原意:包装纸).

    # 这个函数将被包装在原始函数的四周

    # 因此就可以在原始函数之前和之后执行一些代码.

    **def** the_wrapper_around_the_original_function():

        # 把想要在调用原始函数前运行的代码放这里

        print("Before the function runs")

        # 调用原始函数(需要带括号)

        a_function_to_decorate()

        # 把想要在调用原始函数后运行的代码放这里

        print("After the function runs")

    # 直到现在,"a_function_to_decorate"还没有执行过 (HAS NEVER BEEN EXECUTED).

    # 我们把刚刚创建的 wrapper 函数返回.

    # wrapper 函数包含了这个函数,还有一些需要提前后之后执行的代码,

    # 可以直接使用了(It's ready to use!)

    **return** the_wrapper_around_the_original_function

# Now imagine you create a function you don't want to ever touch again.

**def** a_stand_alone_function():

    print("I am a stand alone function, don't you dare modify me")

a_stand_alone_function()

# outputs: I am a stand alone function, don't you dare modify me

# 现在,你可以装饰一下来修改它的行为.

# 只要简单的把它传递给装饰器,后者能用任何你想要的代码动态的包装

# 而且返回一个可以直接使用的新函数:

a_stand_alone_function_decorated = my_shiny_new_decorator(a_stand_alone_function)

a_stand_alone_function_decorated()

# outputs:

# Before the function runs

# I am a stand alone function, don't you dare modify me

# After the function runs

装饰器的语法糖

我们用装饰器的语法来重写一下前面的例子:

# 一个装饰器是一个需要另一个函数作为参数的函数

**def** my_shiny_new_decorator(a_function_to_decorate):

    # 在装饰器内部动态定义一个函数:wrapper(原意:包装纸).

    # 这个函数将被包装在原始函数的四周

    # 因此就可以在原始函数之前和之后执行一些代码.

    **def** the_wrapper_around_the_original_function():

        # 把想要在调用原始函数前运行的代码放这里

        print("Before the function runs")

        # 调用原始函数(需要带括号)

        a_function_to_decorate()

        # 把想要在调用原始函数后运行的代码放这里

        print("After the function runs")

    # 直到现在,"a_function_to_decorate"还没有执行过 (HAS NEVER BEEN EXECUTED).

    # 我们把刚刚创建的 wrapper 函数返回.

    # wrapper 函数包含了这个函数,还有一些需要提前后之后执行的代码,

    # 可以直接使用了(It's ready to use!)

    **return** the_wrapper_around_the_original_function

@my_shiny_new_decorator

**def** another_stand_alone_function():

    print("Leave me alone")

another_stand_alone_function()

# outputs:

# Before the function runs

# Leave me alone

# After the function runs

是的,这就完了,就这么简单。@decorator 只是下面这条语句的简写(shortcut):

another_stand_alone_function = my_shiny_new_decorator(another_stand_alone_function)

装饰器语法糖其实就是装饰器模式的一个Python化的变体。为了方便开发,Python已经内置了好几种经典的设计模式,比如迭代器(iterators)。当然,你还可以堆积使用装饰器:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

**def** sandwich(food="--ham--"):

    print(food)

sandwich()

# outputs: --ham--

sandwich = bread(ingredients(sandwich))

sandwich()

# outputs:

# </''''''>

# #tomatoes#

# --ham--

# ~salad~

# <______/>

用Python的装饰器语法表示:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

@bread

@ingredients

**def** sandwich(food="--ham--"):

    print(food)

sandwich()

# outputs:

# </''''''>

# #tomatoes#

# --ham--

# ~salad~

# <______/>

装饰器放置的顺序也很重要:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

@ingredients

@bread

**def** strange_sandwich(food="--ham--"):

    print(food)

strange_sandwich()

# outputs:

##tomatoes#

# </''''''>

# --ham--

# <______/>

# ~salad~

给装饰器函数传参

# 这不是什么黑色魔法(black magic),你只是必须让wrapper传递参数:

**def** a_decorator_passing_arguments(function_to_decorate):

    **def** a_wrapper_accepting_arguments(arg1, arg2):

        print("I got args! Look:", arg1, arg2)

        function_to_decorate(arg1, arg2)

    **return** a_wrapper_accepting_arguments

# 当你调用装饰器返回的函数式,你就在调用wrapper,而给wrapper的

# 参数传递将会让它把参数传递给要装饰的函数

@a_decorator_passing_arguments

**def** print_full_name(first_name, last_name):

    print("My name is", first_name, last_name)

print_full_name("Peter""Venkman")

# outputs:

# I got args! Look: Peter Venkman

# My name is Peter Venkman

含参数的装饰器

在上面的装饰器调用中,比如@decorator,该装饰器默认它后面的函数是唯一的参数。装饰器的语法允许我们调用decorator时,提供其它参数,比如@decorator(a)。这样,就为装饰器的编写和使用提供了更大的灵活性。

# a new wrapper layer

**def** pre_str(pre=''):

    # old decorator

    **def** decorator(F):

        **def** new_F(a, b):

            print(pre + " input", a, b)

            **return** F(a, b)

        **return** new_F

    **return** decorator

# get square sum

@pre_str('^_^')

**def** square_sum(a, b):

    **return** a ** 2 + b ** 2

# get square diff

@pre_str('T_T')

**def** square_diff(a, b):

    **return** a ** 2 - b ** 2

print(square_sum(3, 4))

print(square_diff(3, 4))

# outputs:

# ('^_^ input', 3, 4)

# 25

# ('T_T input', 3, 4)

# -7

上面的pre_str是允许参数的装饰器。它实际上是对原有装饰器的一个函数封装,并返回一个装饰器。我们可以将它理解为一个含有环境参量的闭包。当我们使用@pre_str(‘^_^’)调用的时候,Python能够发现这一层的封装,并把参数传递到装饰器的环境中。该调用相当于:

square_sum = pre_str('^_^') (square_sum)

装饰“类中的方法”

Python的一个伟大之处在于:方法和函数几乎是一样的(methods and functions are really the same),除了方法的第一个参数应该是当前对象的引用(也就是 self)。这也就意味着只要记住把 self 考虑在内,你就可以用同样的方法给方法创建装饰器:

def method_friendly_decorator(method_to_decorate):

    **def** wrapper(self, lie):

        lie = lie - 3  # very friendly, decrease age even more :-)

        **return** method_to_decorate(self, lie)

    **return** wrapper

**class** Lucy(object):

    **def** __init__(self):

        self.age = 32

    @method_friendly_decorator

    **def** say_your_age(self, lie):

        print("I am %s, what did you think?" % (self.age + lie))

l = Lucy()

l.say_your_age(-3)

# outputs: I am 26, what did you think?

当然,如果你想编写一个非常通用的装饰器,可以用来装饰任意函数和方法,你就可以无视具体参数了,直接使用 *args, **kwargs 就行:

def a_decorator_passing_arbitrary_arguments(function_to_decorate):

    # The wrapper accepts any arguments

    **def** a_wrapper_accepting_arbitrary_arguments(*args, **kwargs):

        print("Do I have args?:")

        print(args)

        print(kwargs)

        # Then you unpack the arguments, here *args, **kwargs

        # If you are not familiar with unpacking, check:

        # http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

        function_to_decorate(*args, **kwargs)

    **return** a_wrapper_accepting_arbitrary_arguments

@a_decorator_passing_arbitrary_arguments

**def** function_with_no_argument():

    print("Python is cool, no argument here.")

function_with_no_argument()

# outputs

# Do I have args?:

# ()

# {}

# Python is cool, no argument here.

@a_decorator_passing_arbitrary_arguments

**def** function_with_arguments(a, b, c):

    print(a, b, c)

function_with_arguments(1, 2, 3)

# outputs

# Do I have args?:

# (1, 2, 3)

# {}

# 1 2 3

@a_decorator_passing_arbitrary_arguments

**def** function_with_named_arguments(a, b, c, platypus="Why not ?"):

    print("Do %s, %s and %s like platypus? %s" % (a, b, c, platypus))

function_with_named_arguments("Bill""Linus""Steve", platypus="Indeed!")

# outputs

# Do I have args ? :

# ('Bill', 'Linus', 'Steve')

# {'platypus': 'Indeed!'}

# Do Bill, Linus and Steve like platypus? Indeed!

**class** Mary(object):

    **def** __init__(self):

        self.age = 31

    @a_decorator_passing_arbitrary_arguments

    **def** say_your_age(self, lie=-3):  # You can now add a default value

        print("I am %s, what did you think ?" % (self.age + lie))

m = Mary()

m.say_your_age()

# outputs

# Do I have args?:

# (<__main__.Mary object at 0xb7d303ac>,)

# {}

# I am 28, what did you think?

装饰类

在上面的例子中,装饰器接收一个函数,并返回一个函数,从而起到加工函数的效果。在Python 2.6以后,装饰器被拓展到类。一个装饰器可以接收一个类,并返回一个类,从而起到加工类的效果。

def decorator(aClass):

    **class** newClass:

        **def** __init__(self, age):

            self.total_display = 0

            self.wrapped = aClass(age)

        **def** display(self):

            self.total_display += 1

            print("total display", self.total_display)

            self.wrapped.display()

    **return** newClass

@decorator

**class** Bird:

    **def** __init__(self, age):

        self.age = age

    **def** display(self):

        print("My age is", self.age)

eagleLord = Bird(5)

**for** i **in** range(3):

    eagleLord.display()

在decorator中,我们返回了一个新类newClass。在新类中,我们记录了原来类生成的对象(self.wrapped),并附加了新的属性total_display,用于记录调用display的次数。我们也同时更改了display方法。通过修改,我们的Bird类可以显示调用display的次数了。

内置装饰器

Python中有三种我们经常会用到的装饰器, property、 staticmethod、 classmethod,他们有个共同点,都是作用于类方法之上。

property 装饰器

property 装饰器用于类中的函数,使得我们可以像访问属性一样来获取一个函数的返回值。

class XiaoMing:

    first_name = '明'

    last_name = '小'

    @property

    **def** full_name(self):

        **return** self.last_name + self.first_name

xiaoming = XiaoMing()

print(xiaoming.full_name)

例子中我们像获取属性一样获取 full_name 方法的返回值,这就是用 property 装饰器的意义,既能像属性一样获取值,又可以在获取值的时候做一些操作。

staticmethod 装饰器

staticmethod 装饰器同样是用于类中的方法,这表示这个方法将会是一个静态方法,意味着该方法可以直接被调用无需实例化,但同样意味着它没有 self 参数,也无法访问实例化后的对象。

class XiaoMing:

    @staticmethod

    **def** say_hello():

        print('同学你好')

XiaoMing.say_hello()

# 实例化调用也是同样的效果

# 有点多此一举

xiaoming = XiaoMing()

xiaoming.say_hello()

classmethod 装饰器

classmethod 依旧是用于类中的方法,这表示这个方法将会是一个类方法,意味着该方法可以直接被调用无需实例化,但同样意味着它没有 self 参数,也无法访问实例化后的对象。相对于 staticmethod 的区别在于它会接收一个指向类本身的 cls 参数。

class XiaoMing:

    name = '小明'

    @classmethod

    **def** say_hello(cls):

        print('同学你好, 我是' + cls.name)

        print(cls)

XiaoMing.say_hello()

wraps 装饰器

一个函数不止有他的执行语句,还有着 name(函数名),doc (说明文档)等属性,我们之前的例子会导致这些属性改变。

def decorator(func):

    **def** wrapper(*args, **kwargs):

        """doc of wrapper"""

        print('123')

        **return** func(*args, **kwargs)

    **return** wrapper

@decorator

**def** say_hello():

    """doc of say hello"""

    print('同学你好')

print(say_hello.__name__)

print(say_hello.__doc__)

由于装饰器返回了 wrapper 函数替换掉了之前的 say_hello 函数,导致函数名,帮助文档变成了 wrapper 函数的了。解决这一问题的办法是通过 functools 模块下的 wraps 装饰器。

from functools import wraps

**def** decorator(func):

    @wraps(func)

    **def** wrapper(*args, **kwargs):

        """doc of wrapper"""

        print('123')

        **return** func(*args, **kwargs)

    **return** wrapper

@decorator

**def** say_hello():

    """doc of say hello"""

    print('同学你好')

print(say_hello.__name__)

print(say_hello.__doc__)

装饰器总结

装饰器的核心作用是name binding。这种语法是Python多编程范式的又一个体现。大部分Python用户都不怎么需要定义装饰器,但有可能会使用装饰器。鉴于装饰器在Python项目中的广泛使用,了解这一语法是非常有益的。

常见错误:“装饰器”=“装饰器模式”

设计模式是一个在计算机世界里鼎鼎大名的词。假如你是一名 Java 程序员,而你一点设计模式都不懂,那么我打赌你找工作的面试过程一定会度过的相当艰难。

但写 Python 时,我们极少谈起“设计模式”。虽然 Python 也是一门支持面向对象的编程语言,但它的鸭子类型设计以及出色的动态特性决定了,大部分设计模式对我们来说并不是必需品。所以,很多 Python 程序员在工作很长一段时间后,可能并没有真正应用过几种设计模式。

不过装饰器模式(Decorator Pattern)是个例外。因为 Python 的“装饰器”和“装饰器模式”有着一模一样的名字,我不止一次听到有人把它们俩当成一回事,认为使用“装饰器”就是在实践“装饰器模式”。但事实上,它们是两个完全不同的东西。

“装饰器模式”是一个完全基于“面向对象”衍生出的编程手法。它拥有几个关键组成:一个统一的接口定义、若干个遵循该接口的类、类与类之间一层一层的包装。最终由它们共同形成一种“装饰”的效果。

而 Python 里的“装饰器”和“面向对象”没有任何直接联系,**它完全可以只是发生在函数和函数间的把戏。事实上,“装饰器”并没有提供某种无法替代的功能,它仅仅就是一颗“语法糖”而已。下面这段使用了装饰器的代码:

@log_time

@cache_result

**def** foo(): pass

基本完全等同于:

def foo(): pass

foo = log_time(cache_result(foo))

装饰器最大的功劳,在于让我们在某些特定场景时,可以写出更符合直觉、易于阅读的代码。它只是一颗“糖”,并不是某个面向对象领域的复杂编程模式。

参考链接:

  • Primer on Python Decorators
  • [Decorator Basics:Python’s functions are objects]

作者:钱魏Way

https://baidubiaodianfu.com/python-decorator.html

投资的非逻辑感悟碎片(四十八)

1、对个人投资者来说,投资体系是至关重要的。这个体系不仅仅是理论上的有效,也要建立在心态的承受力上。我的体系一直都是爱熊胜过牛,越跌越开心,仓位和资金都是为此准备。但这种体系,是通过4轮牛熊转换才真正完成的。

我很少就自己的投资体系谈得太深,不是我藏私,而是没有经历过那种千股跌停、熔断、腰斩再腰斩的人,心里的恐惧都还是皮毛级的。死人堆里面活下来的人,才能分清楚什么是恐惧什么是贪婪。

2、我是做投资的,不炒股票。比起短期股价,我更关心投资体系的完善和企业基本面的变化。有些人的地狱,正是我的天堂。无数人怀念2016年2月或者是2018年12月的股价,但每次来临的时候,他们都充满绝望。对我来说,大跌是最幸福的时刻,但却是很多人嘲笑的理由。

我的坚持,是建立在自己的分仓原则和调仓策略之上,也是充分考虑了自己的现金流和各种可能局面的,不是简单的看好和依赖。对职业投资人来说,最大的敌人是时间而不是空间,这和业余投资者来说有着根本性的不同。

3、M2和GDP的关系,需要充分考虑各自的增速。但对股市来说,重要的不是绝对增速,而是相对增速,具体到板块和企业,还要结合业绩增速。

股价增速、流动性增速和业绩增速之间,良性的传导过程,应该是流动性——业绩——股价,这样的上涨才会坚实,而业绩环节直接决定了GDP变化。现在很多板块和个股,业绩增速的变化不大,股价依靠流动性直接来完成,后面流动性的增速下降,就会直接作用到股价上。

4、同样一份报表,不同的人会看到不同的业绩。有人看到了利润,有人会看到利润之后的商誉和增发,还有人能看到这份利润透支了的未来空间。有些企业确实赚的是假钱,而对赚真钱的企业来说,无所谓牛市还是熊市。

下跌不怕,但要搞清楚是行业问题还是企业问题,是周期问题还是人为问题,是跌业绩还是跌估值。经营的基本面仍然完好的,这种跌幅后慢慢买入就是,经营逻辑要是破了,千万不要图便宜。

5、打麻将,不放过每一个胡牌机会的人,基本上赢不了大钱;几圈下来没胡牌就唉声叹气的人,往往越打越差;牌不好尽量少输、牌好尽量胡大牌的人,总能成为最后的赢家。

投资对知识的要求高,对人的自控能力要求更高。那些赚点钱就晒单,亏点钱就怼天怼地的人,被市场吞噬只是时间问题。

6、很多人都是从数字上来看企业,对实际经营一无所知。而且大多数人只会等着股价上涨赚钱,股价下跌带来的好处,都被他们淹没在自己的恐惧中了。平时对价值投资高谈阔论,遇到波动就和叶公好龙一样,对企业的理解就是股价涨跌,这种交流是没有意义的。

投资和实业之间,确实没有鸿沟。我们有时候佩服某位投资人,在一只股票上持有十数年,赚了数十倍。实际上,在那些上市公司里,持有十几年股票赚了大钱的高管们比比皆是。很多人赚不到钱,就是太看重交易价值了。

转自:https://mp.weixin.qq.com/s/SrXMypvQU1JfWkRssYKGzg

从醉酒现象看景气追逐和景气周期

文/沧海一土狗

ps:3800字

题记:无论是烈酒和低度酒市值的差异,还是景气投资和低估值投资的对比,表面上来看,差异都在于外在,实际上都在于我们自己,是我们自己塑造了这个人类世界,创造了这个资本市场,我们内心的冲突也将投射到这个世界的方方面面。

 

引子

这两天有一则消息刷屏了,海底捞宣布关闭300家门店,一时间各种感慨。

我的直接感受是:餐饮是一个很难玩的行业,周期无处不在。

之前,我写了一篇《关于周期行业和行业周期的一些想法》,这篇文章从分类的视角解释了周期的根源,并得出以下三个结论:

1、短期供给弹性越小,长期供给弹性越大的行业,周期性越大;

2、进入壁垒越高的行业,长期供给弹性越小,周期性越弱;

3、品牌是好的,扩张是品牌的敌人;

但是,有读者对这个解释不买账,觉得这个解释是在假设企业家很短视,都是些盲目扩张的傻子。

我对这个解释也不甚满意,解读周期现象,本质上是要去把握一种冲突,在前文的解释中,冲突的层次还有些浅,所以,我们需要进一步往深处刨。最好能刨到人性深处,发现人内心深处的冲突

 

想要和喜欢

幸运的是,脑科学家已经为我们准备好了相关方面的工作。

从主观的角度来看,我们很难区分两种感觉:一种是欲望,渴望,想要;另一种是喜欢,感官上给出很高的评价。

但是,从生理发生机制上来说,这个区分则容易得多,脑科学家们已经对此做了良好的区分。前者对应的是多巴胺回路,后者对应的是当下感受的回路。也就是说,二者背后对应了十分不同的化学反应。

从表征系统的角度来看,前者针对的是心理模型更深层次的东西,看到树上长的梅子,想吃;后者针对的是心理模型更表层次的东西,吃到梅子,感官被激活,觉得好吃。

因此,无论是从化学回路还是从表征系统,想要和喜欢都是两码事。

从醉酒现象看景气追逐和景气周期

如图上图所示,主观心理模型可以分为两部分,一部分是近体系统,离外界环境最近,是一阶的系统;另一部分是远体系统,离外环境稍远,是一个二阶系统。

 

多巴胺是欲望分子,并非快乐分子。在Wolfram Schultz的一个研究中(1997,science),研究者发现多巴胺的主要功能是“奖赏预测误差”。也就是说,多巴胺回路针对的不是“好”本身,针对的是“更好”,更好的基准是预期。

 

醉酒——想要但不喜欢

知道想要和喜欢的不同有什么用呢?通过这两个机制的划分,我们就可以主动构建人内部的冲突了

我们所需要构建的情形是:从二阶的角度,我们很想要;但从一阶的角度我们不喜欢。

事实上,这种例子很多,一个最常见的例子就是饮酒和醉酒。

酒精会刺激多巴胺分泌,给人带来愉悦感。但是,其中有一个很重要的结构:愉悦感来自于二阶刺激,也就是说,血液中酒精度快速升高,会给人带来愉悦;绝对水平不会带来愉悦,只会让人醉酒

从醉酒现象看景气追逐和景气周期

了解清楚这个结构差异之后,我们就能清楚两个区别:1、喝high了和喝醉了的区别;2、高度酒和低度酒的区别(ps:几乎是两种不相干的产品)。

喝high了是指,大脑中酒精含量迅速提高,多巴胺快速释放,大脑感到愉悦;喝醉了是指,大脑中酒精含量提高到某一水平,大脑的很多功能失调。

不幸的是,人们很难辨别一阶刺激和二阶刺激的差别,只会觉得白酒开始很难喝,喝到一个临界点,觉得喝得越多越愉悦。

也就是说,一旦人们喝开了,人们会加快速度,大脑希望有同等刺激的多巴胺释放,但这需要更高速度的酒精度提升。最终,喝酒的人终于喝大了。喝到最后,人们没有愉悦的感受,只有醉的感受,因为这时,酒精浓度在降低,多巴胺回路关闭了。

对于经常喝醉的人,肯定不止一次骂自己愚蠢,并下定决心不再喝酒(ps:这一般是发生在醉酒的第二天),但是,一旦他恢复过来他又会想喝,并自信(ps:多巴胺的另一条回路是控制回路,兴奋时人们会觉得自信,所以,酒壮怂人胆)满满地告诉自己,这次喝不大,能控制住。结果往往是再一次喝大了。

经历了长期的斗争之后,酒鬼们终于摸索出了最佳应对策略:

1、选择高度酒;

2、少量多次;

经验丰富的老酒鬼会直接选择高度酒,而且,一次喝一两左右,让自己high,然后,等脑部酒精度下降,等下降到一定水平,再喝下一个quota。

也就是说,他们在主动操控酒精浓度的变化曲线。

按照老酒鬼的喝酒方法,他们一喝会喝一整天(ps:这就是所谓的酒腻子)。他们很精明,他们准确地区分了high和醉,并掌握了最有效率买high的方法——虽然最后他们实在把持不住,也喝大了。

如果了解这个微观生理结构的差异,我们就能搞明白,高度酒和低度酒的差别。二者根本就是两个品种。一个可以快速提高大脑中的酒精浓度,释放多巴胺;另一个则很缓慢。所以,看起来大家都喝了等量的酒,但是,差别很大。差别在于血液中酒精浓度的变化曲线,这直接影响了多巴胺的释放量。

通过这个逻辑,我们也能搞清楚,为啥烈酒总是畅销的,为啥白酒那么容易成瘾,为啥喝白酒的人都不怎么喝啤酒。

资本市场很好地映射了这个差异:白酒行业的市值是一个样子,其他酒的市值又是另外一个样子。根子还是在于一种普遍性,在于多巴胺回路的结构——强烈依赖二阶刺激

 

景气追逐和高估值

运用这个结构,我们也能够打开一个想当然的黑匣子:为什么高景气对应高估值。

这并不是因为高景气才值得高估值,而是因为这是一个进程,我们没办法

景气是一个二阶的东西,而估值是一个一阶的东西。我们优先被二阶的东西驱动,一阶的东西放在其后。所以,估值是一个并不太好用的刹车

这跟喝酒的过程很相似,在不断地追逐景气的过程中,估值逐渐地被抬高,虽然我们会像老酒鬼那样扭扭捏捏,稍微控制一下曲线——消化估值,但是,我们还是抑制不住追景气的冲动,最终还是喝高了。

从醉酒现象看景气追逐和景气周期

事实上,喝酒这个比喻跟资本市场有特别多的相似点。

另外一个有意思的相似点是,老手和新手的不同选择,老手一般直接选择最烈的那款,但新手会紧张兮兮地选择一个度数低的,初来乍到嘛。

在资本市场也会有类似的情形,老手上来就自下而上去搞高景气,新手一般会自上而下ps:基于牛市来)去搞个景气度不是那么高的,因为他们怕高估值,所以,会去选那个低估值——低景气度的。在价值投资政治正确的今天,菜鸟的这种选择其实也理直气壮。

但是,菜鸟们不得不去面对的是,自己的票总是不涨。他们所做的选择越稳妥,越是不涨。如果仅仅是自己选择的票不涨还好,结果那些自己不敢买的高景气股票屡创新高地涨。这个诡异的对比几乎要把人气炸了。

其实,股票投资和喝酒一样,人们追逐的是景气,是多巴胺能,是血液里酒精浓度的快速提高。

诚然喝醉是很可怕,比喝醉更可怕的是,那种极品低度酒,你从来就没真正high过,但喝着喝着喝大了,醉的一塌糊涂,这就好像你是时间的敌人一样。high没等来,吐倒是等来了。
从醉酒现象看景气追逐和景气周期

那么,新手上来学老手喝最烈的酒、骑最烈的马就没问题了吗?并不是,你投资的是景气,而不是其他。所以,当景气度出问题的时候,要记得跑,不要拿估值忽悠自己。

一般来说,大多数人只是在追逐景气,并没有把企业的底价——价值,搞得十分明白,这需要比企业家还好的一级视角和产业视角。

从醉酒现象看景气追逐和景气周期

所以,大多数人的选择也仅仅是就近找个马桶吐一吐,然后,等待下一次酒局的到来——景气回归

如果你搞不清楚为啥自己总是喝酒喝吐,大概率也搞不清楚为啥自己牛市不挣钱。

人性放大器

金融市场本身就是一个人性的放大器,人性深处充满矛盾和莫名其妙,金融市场也是如此。

正因为多巴胺回路足够强大,所以,投资者的着眼点并非利润本身,而是,利润增长,尤其是超预期的增长。

这也就导致了一个现象,低PE并不会刺激到投资者,反倒是利润增长可以刺激到投资者。在极端的情况下,投资者追逐增长的增长——要求利润增长率提高。

于是,我们对追逐景气这件事情就有一个基本的了解,景气至少是两阶的(利润增长率高),甚至是三阶的(利润增长率逐渐提高)。景气追逐的行为最底层是多巴胺回路控制的。

除此之外,往更大的视角延伸,我们整个人类社会的执念则是——经济增长,只有上面有普遍意义的增长,下面才有足够多的景气行业,供投资者追逐,才能刺激大家一直追一直追。

所以,当整个经济景气度不行的时候,整个资本市场的风险偏好也是脆弱的。

从醉酒现象看景气追逐和景气周期

不难想象,如果我们当下回路的优先级更高,我们整个社会将是另外一个场景——满足当下,活力更低,幸福感更高

所以,这就很矛盾,我们是要幸福感呢,还是要增长呢?大自然给我们做出的选择是增长——因为我们的多巴胺回路更强,当下回路更弱。

当然,我们的理性能帮我们做出一些平衡,让我们更注重当下,减缓对未来的追逐(ps:诸如保护环境等操作)。但这有一个有些反讽意味的事实,我们的理性强烈地依赖多巴胺的控制回路(ps:这次讲的是多巴胺的欲望回路,下次讲控制回路)。

嗯,拿多巴胺回路a去控制多巴胺回路b。

结束语

最近这几年,我们经历了形形色色的周期,房地产周期、猪周期,航运周期和大宗周期,其中的周期有大有小,有长有短。如果拉长时间窗口看,我们有更多的周期。

周期的普遍性深深地扎根在人性深处,我们是一个个内心充满矛盾和冲突的个体。

事实上,探讨周期并不是想要显得比企业家或其他投资者更聪明,这毫无意义;而是要发掘人性深处的一种普遍的的冲突,让我们心平气和地理解并接受这种冲突,也能妥善地规避这种冲突所带来的伤害。

这种狂暴的冲突被资本市场放大之后着实有一些吓人和费解。但我们也得接受,这就是我们人类啊。

ps:数据来自wind,图片来自网络
ps:参考文献
《贪婪的多巴胺》 丹尼尔-利伯曼
《哈佛幸福课》丹尼尔-吉尔伯特
《丹尼尔-丹尼特讲心智》丹尼尔-丹尼特
《隐藏的自我》大卫-伊格曼

 

转自:https://mp.weixin.qq.com/s/KVK53IH79NoV-ZJtRZoBHQ

警惕网络兼职培训打赚钱牌

1

最近刷后台,发现很多人问我交钱学兼职,交钱学副业的事情。

由于问的人实在太多了,我也知道大家都想多赚钱的需求,所以我打算给大家讲讲这事儿。

进入正文之前呢,先讲两个绝大部分人都听过的商业故事,然后大家一起看看把正儿八经的商业逻辑融合在一起会产生什么魔幻的效果。

第一个,是卖水的小农夫亚默尔。

在美国19世纪淘金潮里面,很多人抱着一夜暴富的心理涌入了加利福利亚州,山谷里水源奇缺,寻找金矿的人最痛苦的就是没有水喝。

17岁的小农夫亚默尔看着巨大的挖矿人群,换了个思维,把手头的铁锨掉了个方向,由挖掘黄金变为挖掘水渠,然后把水卖给淘金者。

结果,在很短的时间里,亚默尔卖水赚了不少钱,成了一个富翁。

这后面变成了很多从事ToB行业的人最爱讲的典故,卖水在有的地方也演变成卖铲子,卖锄头。

核心逻辑是一致的,别人想拍照致富,你就去卖相机;

别人想挖矿致富,你就去卖矿机,总归就是寻找热门领域背后的支撑行业。

第二个,是推销员的故事。

以前国外很流行上门推销的模式,于是诞生了一个超级推销员,他从来不一上来就介绍自己的商品,而是说:您好,我是过路的推销员,我有点口渴,您能给我一杯水吗。

很多人都不会拒绝这样一个无伤大雅的小要求,而在转身进屋接水的过程中,因为有了一定的付出,并且收获了“自己是个好人”的反馈,大家对推销员的戒备心也就放下了,同时推销员也有了一杯水的时间来套近乎从而销售自己的产品。

这后面被总结成“登门槛效应”,广泛的运用在销售里面,基本就是想要卖什么,最好先让对方做点什么。

我想聪明的读者这个时候肯定都结合这两个故事知道我要说什么了。

对的,那就是五花八门的在线能力培训,尽管种类繁多,但是底层逻辑都是一样的,你能不能赚钱不重要。

他们从你手里赚到钱,很重要。

2

在线能力培训,从名字上你就知道,他是要教你点什么的,然后用学费为由头薅你的钱包。

只是说有的是真能教你能力的,那就是用钱换技能点,并且最终可以量化投入产出,传统培训行业各种考证的,其实属于这种。

不过他们严格来说也不算教你能力,而是给你提供学习环境,算是赚个二房东的钱。

而骗局是钱花了,值充了,精力耗费了,学了一个寂寞,你都不知道这东西能干啥。

我觉得这也是骗子行业在满足了金钱需求以后向更高级别需求的进化,毕竟被别人叫着老师就把钱薅过来,还能随时用“你是带过最差劲的一代”来打压金主爸爸,这达到了张麻子口中站着就把钱赚了的最高境界。

那这个具体培训点什么呢,选择就很关键,不能选大众不懂的,但是又不能选大众都懂的,讲究的就是一个听上去耳熟,但是不知道具体做什么的行业。

比如,配音培训。

大家都知道,现在,声音是可以赚钱的。

像我这种既有百灵鸟一般清脆,又有晨钟暮鼓一样源远的声音,那是……那是相当的不要脸……

不过随着一些音频平台的崛起,很多依靠自己声线独特的大佬的确是淘到了金,而很多平台为了让自己的内容更加丰富,也的确推出了很多正规的配音兼职。

这时候,“卖水”的人来了。

你想说说话就赚钱么?

你想一个手机就能补贴家用么?

你想躺在家里蹲在宿舍就能财务自由么?

你想1个小时就收入1000么?

来做配音兼职吧。

这种广告大家熟悉吧,到现在都还能刷到不少,很多线上能力培训机构,打着构建语音生态圈的名头,开始拉人。

这旗号要有多高就有多高,有的说是要大规模引进外国名著转化成有声读物,提高民众整体文化感知,有的说是要对外国经典电影进行配音,实现中西方文化的大融合。

甚至,有的机构还痛心疾首的告诉你,咱们国内娱乐圈啊,你懂我也懂,那群号称是演员的人每天在片场就是一二三四五,台词也不背,苦的都是我们配音员啊。

你一琢磨,好像还真是这回事儿,瞬间就燃烧起了要拯救部分国产影视剧的热情。

你看,这行业选择的就很精致,细品之下有三层。

第一个就是配音人人都知道,哪怕听书APP手机里面没有,那电影电视剧谁还没看过啊,所以一说做配音你就懂,这样能覆盖最广大的受众。

第二个就是配音这工作听上去还略显高级,你想,粗糙的想,你吃着火锅唱着歌,一个朋友带了一个兄弟过来,介绍说这兄弟是做配音的,你会是什么反应。

换成我,说是影视配音我肯定想的就是,娱乐圈的啊,是不是经常看到送审版啊。

说是文字配音我就想那是个文化人啊,世界名著没少读啊。

动漫配音那就是声优哎,听起来就不错。

第三个,也是最重要的,配音培训,网上就能操作,全部远程。

你以为远程是为了方便你?

不,远程是为了方便人家甩锅。

你说为什么没人去挖掘机培训、厨师培训、理发师培训里面埋套路呢?

你好歹要提供场地和挖掘机嘛,没办法做到具有互联网时代轻资产运作的新骗局。

不过,虽然行业选择的很精妙,但是这些机构大部分用的广告基本还是走的重金求子的路线,先用略显二逼的模式来进行一次筛选,把那些具有辨识能力的人挡在外面,免得浪费机构资源,然后用钱来刺激带有急功近利思想的那群人:

警惕网络兼职培训打赚钱牌
警惕网络兼职培训打赚钱牌

对的,这就是这些骗局设置的第一个筛选,好歹别人也是产业,也要把有限的资源集中在目标客户身上嘛。

讲白了,就是吸引【易上当体质】的人。

这毫无UI设计感的广告一旦点了进去,就会告诉你,你没经验,没关系,你口音重,不困难,可以学习啊。

啊,学习,这其实是印刻在我们脑子里面最底层的逻辑,万般皆下品惟有学习高。

从小我就知道,只要是搬出为了学习这个借口,从父母那里要钱的成功率会高很多。

而这些播音配音课程的价格,也实在当得起物美价廉,买到就是赚到,我查到过99块钱的精品课程,也看到过288的豪华大礼包。

当然,闲鱼和拼多多上还有更便宜的几块钱的大礼包,堪称魔法大战魔法。

如果你不喜欢配音。

还有剪辑可以学哦。

想成为UP主么?快来掏钱吧。

3

如果仅仅是这样,大家凭借这么多年在各种黑产炼丹炉里面熏陶出来的火眼金睛,自然是根本不会上当。

不过,骗子这个行业,咱们谴责归谴责,还是要有一说一,他们也是一群很卷的人。

你想,有人每天996喊口号打鸡血,不断的复盘,不断的优化流程,就想要让你入坑,这就是以有准备打无准备,以有预谋对无预谋,他们的套路,那是多的起飞。

比如很多骗子机构,不会先给你推课程,而是会先把你拉进一个接单群里面,群里面经常会放任务出来,这些任务,往往并不夸张,比如一段配音3万字,前期准备、中期配音、后期调整加一起预计工时5小时,给你一个1000元的报价。

你看这收入的总数,其实不夸张,但是你算这时薪,那也是200块钱每小时,已经吊打绝大部分在企业上班的人了。

最关键的是,群里面还一群人抢,然后这帮人第二天还开开心心的在群里面晒截图,这时候躁动的种子就埋下了。

要让你上套,就要先给你吃甜头,这是诈骗的基本路数。

不过这样诞生了羊毛党,专门薅诈骗集团的铺垫资金的,弄哭了多少刚入行的骗子机构啊,所以现在都是活学活用互联网技术,P图+故事+NPC。

然后,你也想要接单嘛,对方就会告诉你,这你要先把基础课程给学了,毕竟咱们也要对甲方爸爸负责。

你一想,99块钱的精品课,哪怕中招了也亏不了多少,就学了。

这一下,才算是正式踏入陷阱的第一步,你已经去房间里面给推销员“接水”了,自己已经付出了。

这就要说一下在线能力培训骗局的一个基础,那就是,你去学,肯定是能学到点东西的,而且他们课程设置的就是非常具有正反馈机制,换一个场景就是:零元VIP,三天满级,一秒一刀999, 装备全爆666……

等到学完了这些录制好不知道分发给了多少人的课程,你一品,这行业好像的确有门道啊,而自己好像的确内化了一些小技巧,咬字更清晰了,平翘舌也打颤了,前后鼻音转化更顺畅了,心里美滋滋。

然后,套路的第二步就开始了。

在99块钱课程的后半部分,基本就是讲配音兼职的广袤前景,未来可期,然后说,要更好的做到一小时上千的收入,那就要进行进阶,毕竟配音这是一个专业行业,你看播音主播那都是本科四年学习,然后无数次的打磨以后才有的结果。

你一琢磨,十小时的课程就想吊打专业主播了,好像的确不太现实,转头一看,自己已经作为初级学员被拉进一个更高端的接单群了,哇,里面的单子那就已经开始时薪四五百了,又躁动了。

这时候,课程就开始细化,有播音班,有配音班,还有跨界班,学费也开始涨起来了,有五千的,有一万的。

当然,机构还是要强调,这是学习的费用,是投资自己,学成以后你一天就能赚回来。

有些人就交钱了,还有些人手中没钱怎么办呢?

别慌,机构那是带着蜡炬成灰泪始干的精神来做的,那是为了行业的繁荣,所以还提供金融服务,线上助学贷款。

警惕网络兼职培训打赚钱牌

有机智的小伙伴肯定反应过来了,套路贷都出来了,那必然是坑,这时候机构又会告诉你,没事儿,你可以先试试,不行的话还能退款。

当然退款的时候,要么就是平台卡住了半天退不出来,要么就是退学费没问题,但是利息要交啊,你这叫资金时间占用成本。

如果见到你还不上套,那也没关系,你可以先接接单子,对了,我们现在是高端接单群,手机录音那肯定是不行了,这里有甲方指定的录音器材清单,网上买不到,我们这里仅此一家。

你看,在整个套路中,赢利点有三个。

第一个是海王式玩儿法,广撒网,99块钱,自己反正没什么操作成本,都是录制好的课程,你付了钱播放给你看就好了。

这就是ToC模式,走的就是个量。

第二个是重点培养玩儿法,对那些已经有付出的人,再来让你付出更多,这时候就可以派出助教老师了,对那些有潜力深挖的学员进行点对点跟进,这时候虽说自己有人工成本了,但是推销的也是高金额的课程。

这就是ToB模式,走的是个高净值。

第三个就是卖周边了,这就是O2O模式,实现了诈骗生态圈的全覆盖。

这可不是我乱说哈,央视新闻都报道了,人家可是配音江湖的少林武当。

警惕网络兼职培训打赚钱牌

不过,虽说央视在去年就点名了这个骗局,但是到现在,被点名的那些机构换了个皮还在继续操作。

配音作为在线能力培训骗局里面的一个小流派,是很有代表性的。

这里面最大的逻辑误差,就是央视播音员眼含清理门户的杀意,语气语调却依旧稳健的说出来的话:

配音绝不是一个可以速成赚高薪的行业,关于配音兼职收入的价格表,绝对不是一个普通人零基础经过几个月培训就能够拿到的。

说白了,越是来钱多的行业,那必然越讲究一个专业,哪怕是有些行业看上去没门槛,那按郭德纲老师的话都是,门槛在门里。

你拿最顶尖的人享受的待遇,告诉一群小白,只要跟我混,你就能变成他,这就是忽悠,比街上突然冒出来一个乞丐说“少年,我看你骨骼惊奇”还要扯。

但是,很多“速成心法”包裹的好了,就会让一些人看不出来。

4

现在只要火热的行业,就都能有一波对应的在线能力培训机构。

比如,到现在都依然火爆的人工智能。

警惕网络兼职培训打赚钱牌

这家机构我点进去看了看,那对政策把握的是相当熟稔,映入眼帘的就是人工智能作为七大新基建的核心地位,然后列出人社部公布的“未来五年人工智能人才缺口达到500万”。

当然我在另外一家看到的是引用的工信部的《人工智能产业人才发展报告》,说的缺口是30万。

好吧,神仙打架咱们不评价,反正这些机构都在说,缺人啊少年。

而只要,你学会了Python,你就能为中国成为人工智能强国添砖加瓦。

培训机构总喜欢讲一个烂透了的小故事:清华大学毕业生、高素质海归、普通本科毕业生竞争同一个工作岗位,为何最后只有普通本科毕业生被录用?

因为,只有他会用Python。

你看,这就是典型的把门槛给你拉很低,让人觉得自己函授一波就能掌握的例子。

机器学习、神经网络、进化计算、知识工程、自然语言处理,这些都不提。

而作为底层的线性代数、概率论、微积分、运筹学,也都不说。

反正就是宣传学了Python应用,就可以做人工智能了,就能走向人生巅峰了,就能被大厂各种跪舔了。

这4个月成为人工智能高手的培训,其实是属于IT培训里面的一个门派。

还是那句话,IT培训正规的也有,比如当年大名鼎鼎的华强北IT培训班,在那个草莽年代的确培养出了一些进入大厂工作的有志青年,不过好歹,别人那还是有个教室有个老师的,不是聚在一起看视频。

互联网大厂招聘三渠道,第一个,应届专业对口毕业生,这是有指标有任务的,也是储才蓄才植入本公司DNA的大好时机。

第二个,同行业跳槽的,最好是竞争对手那里的,带着情报和战略规划一起过来。

第三个,在线培训机构里面经过几个月函授的。

你觉得哪个渠道大厂的HR更喜欢?

或者说,任何对自己职业生涯负责的HR敢从哪个渠道“进货”?

你看看国内互联网大厂每年在那些有名号的大学里对口专业招聘的时候,那人脑子打出狗脑子的场景,就知道大厂之梦是残酷的。

不过呢,好处是,互联网这个盘子够大,行业流动性本质上比较强,小厂也多,于是在线能力培训机构总能给出不错的成功案例。

警惕网络兼职培训打赚钱牌
警惕网络兼职培训打赚钱牌

而且,为了让自己看上去更具有吸引力,还推出了各种保底模式,比如“高薪包就业”。

这本质上,是当年那个听名字感觉又教英语又教做菜的学校,还有请诸葛亮代言挖掘机的学校,共同探索出来的模式,“包工作”。

这些机构会说,自己和很多互联网企业有合作,因为自己教学能力好,学员很用功,所以这些公司那都是求着自己提供人才呢。

之前看到一篇新华社的文章,采访的还是一家江湖上小有名气的机构,三个半月的课程要24800元的学费,虽说是在线培训,但是还弄得O2O相结合,整了教室让大家坐在一起……在线学习……

这家机构最大的特点,就是号称和16万家企业保持内推合作,这量级,你品。

这套模式的后手其实很厉害,有两大情况。

第一个,就是你万一真的很努力,而刚好又天赋异禀,的确是学的很不错,那就能推荐给一些外包公司,这是最好的情况。

比如还是那篇报道就说,一个班40个人,还真能有三五个人拿到内推的机会,当然推过去有没有回应就是另外一回事儿了,而且内推的基本都是50人以下的公司,而不是承诺的大厂。

第二个,那就是找些皮包公司来,学员毕业了,那就招聘进去,然后找机会就开掉,职场PUA大家都懂,总能找点鸡毛蒜皮的事情,甚至还能直接让你上大项目,然后告诉你能力还不够啊,要不要联系你之前的培训机构,再购买一个“进阶套餐”。

警惕网络兼职培训打赚钱牌

当然,这两个后手都还是构建在这个在线能力培训机构想要长久存在的前提下。

更直白的,那就是先一大波广告投入聚拢学员,然后你学总要有个时间段吧,几个月以后收割的差不多了,直接电话一停网站一关,然后换个名字换个UI设计再来就行。

当然,现在人工智能和代码已经不够刺激了。

目测下一波培训应该是各种搞元宇宙培训的,这么好的概念,不割一波真可惜了。

今天,你学习元宇宙了么。

5

江湖套路之所以能一直存在,主要是两个方面。

一方面在于这帮赚这个钱的人总是在日日精进,总能给我们端出一些更有意思的收割模式。

不论是在线配音培训,还是在线人工智能培训,还是各种插画剪辑培训,抓住的,都是“能力”培训这点,用高收入为诱饵,用低门槛为安慰,充分放大用最小努力取得最大效果的“低分飘过”心态,从而完成请君入瓮。

由于大家卷的厉害,现在一看到职业培训都先默认骗子,所以就开始从【兴趣】入手了。

我昨天看视频的时候,看到一个广告,文案是这样写的:

招募爱玩游戏的年轻人,学3D游戏建模养活自己。

你看,这不是说躺在家里用手机赚钱了,而是说,你是不是爱玩游戏啊,那来直接从事游戏行业吧。

你看,这也不说一个小时1000块,月薪百万等着你,而是说,养活自己。

理性中带着克制,克制里融入理想,做爱做的事,还能赚钱,多好。

我点进去一看,内容做的也很不错,先是填一个问卷。

这问卷实在是太讲究了,我看了想立马膜拜。

第一个是送分题,问哪一个是建模的软件,第一个选项是Excel……

我觉得这是用来屏蔽那些故意搞怪的人。

接着问你现在处在哪个阶段。

三个选项,初高中、大学生、已工作。

警惕网络兼职培训打赚钱牌

这看似是要给你推荐对应的课程,其实是用潜台词告诉你,哪怕你现在初一,也能学,也就是没门槛。

填完了这个问卷,让你留下手机号,就可以领取海量学习资料。

这其实还是让你去“进门接水”,让你先做出一定的付出,这样可以更好的请你做更多的事情,比如点击付款链接,然后他才好给你“卖水”。

大家也感受到了,我最后这个案例,是不是不太像前面两类的骗局,因为3D游戏建模的确是有大需求的行业,而且这本质上是一份手艺活,不像是人工智能那么需要底层积累铺垫。

而站在游戏公司的角度来说,也的确不像一些互联网大厂一样,对高学历有蜜汁青睐,更喜欢“拿来就能用”的人才。

这,其实涉及到这类骗局的另外一个逻辑误区,那就是这种付费网课是最好的学习方式么?

想要学这门手艺,其实已经有很多网上免费的教学视频了,这些Up主吃的是流量饭,公开放出来让大家品评,自然会在教学上各种打磨,从而积累“粉丝型学员”。

这种变现逻辑,不会是停留在你花钱报名就完成经济上的收益,之后能走多远听凭天意,而是要去看视频的人真的能学到东西才会一步一步看下去,给每个视频增加观看、点赞、收藏量。

其次,关于这个问题知乎上也有问,有很多游戏公司自己出来答题,一个劲的说自己有内训机构,不要看这种铺天盖地打广告的,都是坑。

好,这就切入了为什么在线能力培训骗局总是野火烧不尽,因为他们有铺天盖地的广告。

这些游戏公司自己的内训机构,也是要赚钱的,但是对应的,他们也提供正规培训,毕竟自己要从里面真的捞人来补充这个流动性很大的行业,所以他们的成本是下不来的。

而在线能力培训骗局,他们的运营成本很低,所以他们能拿出大量的资金来进行广告的投放,哪怕投300万的广告最后坑到400万,那收益也是刚刚的。

所以,他们才精心设计了“低门槛零基础”、“4个月包会”、“毕业包就业”的套路,用学习的名头包裹着,做最大规模同时又最精准的投放。

我甚至觉得在这些机构里面做SEM和SEO的,那才是真人才,各家大厂的市场部可以考虑去挖掘一下,那是真有实践经验也有成功数据的人才。

而且懂业务。

或许你看到这里,会觉得这些东西肯定骗不到你。

我相信你说的是对的。

但我们都知道一句话,没有人永远年轻,但总有人正年轻。

正着理解,是生命的必然,有点伤感。

反着理解,是操作指南,韭菜生生不息。

这可真是个魔幻的世界。

———————–

公众号:半佛仙人(ID:banfoSB)

转自:https://mp.weixin.qq.com/s/w6_VGHCqVL-t58TiJ1qadQ