分享

第0期:psychopy coder入门

 钟山紫竹林 2020-01-28


Hello,这里是行上行下,我是喵君姐姐~
今天很高兴邀请到阿槑,分享psychopy coder相关知识~
提起python,相信不少小伙伴都已经有所了解。作为一个比较方便的编程语言,python已经逐渐成为非计算机专业出身的各种学科的首选编程语言之一。对于python的介绍小伙伴们可以移步【Python介绍及安装】
而同时,python在心理学领域的应用之一psychopy也逐渐成为越来越多的心理学研究者首选的软件。对于psychopy的基本安装,大家可以移步【PsychoPy的下载与安装方法
psychopy的软件本身分为buildercoder两部分。简单来说,builder就是通过模块与连线的方式将所需要的图片,音频等连接起来,其表现形式与操作非常类似于e-prime;而coder则是直接用python代码进行编写,虽然貌似学起来比较困难,但是其精确程度与自由程度则是builder不可比拟的。
通过view选项卡的最后一项/第一项的“Go to Builder/Coder view”或者Ctrl+L这一快捷键可以实现软件中的builder与coder的切换,从而结合研究的要求进行相应的编写。
 
这里我们只介绍coder的代码编写,希望通过几期的推送帮助奋战在一线的小伙伴们可以顺利的完成自己的心理学行为实验的编写。
首先,新建一个空白的脚本,并将其保存在一个你喜欢的位置。注意,不建议保存在路径是中文的文件夹下,因为往往一些功能不支持中文的路径。
此时,你的界面将会如下图这样:

界面中一共分成上下两个部分,上面最大的空白是文本编辑器,也就是我们码代码的地方;而下面这一部分的两个标签分别为呈现我们的输出结果(Output)以及与解释器的交互工具(Shell)
为了更好的体现这几个部分的功能,我们可以用一句代码进行演示:
print ('psychology')
如果将这句代码放到放到文本编辑器中,并单击上面的运行(绿色小人)按钮进行运行,你将会在Output中看到 psychology 的输出。

如果将代码输入进shell并按回车,你则会看到psychology直接出现在了下面。

 
换言之,文本编辑器是进行完整的代码编写的地方,而shell更像是你与电脑进行对话的窗口。在Shell中,可以直接运行python的一行代码,当不确定某个函数的功能时可以在Shell中进行尝试。
如果并没有顺利地运行上述代码,请检查一下print拼写是否正确,括号以及单引号是否是英文状态,以及是否在psychology的两侧都有。编程的魅力之一在于任何一个小的疏忽都可能导致程序的无法运行。
在这一代码中,print是python最常用的内置函数之一,主要对于其后括号中的内容进行直接输出。而括号中带单引号的内容我们称之为字符串,字符串可以用单引号进行表示,也可以用双引号进行表示,但是需要注意,一个字符串的前后需要一致,如:
'psychology'
'psycholopy'
而前后不一致则会出现错误,如:
'psychology'
一般来说,我们更多的使用单引号来引用字符串,除了习惯外,还有一个原因是输入时不用按着shift(因为麻烦)。
与之相对,三引号往往是用来对内容进行注释,三引号中的内容计算机不会进行运行,并且三引号这一注释形式可以进行多行的注释,往往作为程序的介绍放在开头。

python中另一种注释形式是 #注释内容 这一形式同样不会使计算机运行后面的内容,但是这一注释形式只能对一行进行注释,往往是说明这一行的功能的或者后面的部分要开始实现什么功能,如:

说回字符串,字符串是什么,print输出出来的内容就是什么。但是如果我们填入的内容不带引号(我们称这样的形式为变量),则python会将其识别为变量的名称,运行后会报错name …… is not defined(变量名……未定义)。

这是因为psychology这一变量中我们没有设置任何的内容,那么如何在这种情况下使其正确输出我们想要的psychology这一内容呢?除了把括号中的内容老老实实的加引号外,还可以将psychology这一变量赋值为'psychology',即
psychology = 'psychology'
print(psychology)
运行后便可得到:

脚本中,未带引号的psychology是变量名,而带引号的psychology则是字符串。当我们想改变变量名时,print代码中调用的变量名同样要对应地改变,如:
Acat = 'psychology'
print(Acat)
这样同样可以输出我们想要的psychology这一单词。
可以看到,在编程过程中,变量名具体叫什么不是很重要,但是一定要保证变量名与后面想要调用这一变量时输入变量名的一致性。并且,变量名中间不会有空格,否则会被认为是两个变量,而字符串中可以带有空格。
当变量名想用两个单词进行表示时,中间可用短下划线进行连接,如reaction_time。同时,虽然变量名的具体含义不是非常重要(如raection_time这种变量名只要与后面引用时保持一致就不会报错),但是为了增强可读性,一般还是建议使用正确的拼写。
关于coder的小入门暂时就介绍到这里啦,更多的介绍欢迎持续关注公众号“行上行下”

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多