刘小泽写于19.6.3
编程练习是一个重点,尤其后期需要个人根据自己需求去处理文本数据时,好的编程能力可以大大提高效率,Python的重要性不用多说,最近在看简明Python教程:https://legacy.gitbook.com/book/lenkimo/byte-of-python-chinese-edition/details,感兴趣的小伙伴可以看一看
值得思考的一句话
构建一项软件设计有两种方式:一种是将软件设计得足够简单以至于明显找不到缺陷;另一种是软件设计得足够复杂以至于找不到明显的缺陷
——查尔斯·安东尼·理查德·霍尔爵士
Python重要的特性
- 专注于解决问题的方案,而不是语言本身
- FLOSS(自由/开放源代码软件)成员之一,分享自由开放
- 不需要编译成二进制,直接从源代码运行。不必担心如何进行编译,或者如何保证适当的库被正确的链接、加载等步骤,这一切都在内部完成
- 面向对象(程序结合了数据与功能的对象)
- 嵌入/扩展:可以将C、C++嵌入,保证程序快速运行,或者希望算法某部分不公开
- 丰富的库:http://pypi.python.org/pypi
安装
mac直接brew install python3
即可,安装成功后利用python3 -V
检测版本;
windows的稍微复杂一下,这里不再赘述,可以看书中的介绍
第一步 入门
关于运行python程序
有两种方式:交互式解释器、直接运行源代码
解释器如下:
python3
Python 3.6.3 (v3.6.3:2c5fed86e0, Oct 3 2017, 00:32:08)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
退出的话用ctrl/cmd + D
或者exit()
但是,不能每次都一行一行地从解释器中敲,多数情况需要编辑好,然后保存为文件直接运行
选择一款编辑器
这个就像Harry Potter中选择魔杖一样,一款好的编辑器可以帮助我们更轻松地进行python程序的编写。
最基本的要求就是语法高亮,利用不同颜色来区分Python程序中的不同部分
书中推荐:新手可以从PyCharm开始,专注于学习Python而不是编辑器
基本步骤:
创建项目=》新建Python脚本=》输入代码=》右键"Run"运行
之后找到这个脚本的路径,就可以直接运行了
python3 ~/Library/Preferences/PyCharmEdu2019.1/scratches/scratch.py
Hello World
写代码要注意
Python区分大小写,例如这里的print
和Print
;
另外要确保每一行的第一个字符前面都没空格或制表符
获得帮助
利用内置的help
在解释器中可以查询任何函数或语句信息,只需要将它们放在引号中查询,比如help('len')
,退出再按q
基础内容
Python可以利用变量与常量来实现输出更多内容
注释
#
这个东西是需要尽可能使用的,比如说明重要的决定、解释重要细节、说明要解决的问题等,可以让自己在未来几个月还能明白这个代码做了什么。保证代码能让六个月后的自己看懂!
字面常量
意思就是"字面意义上的值或者内容",并且这些内容是不能改变的
数字
两种类型:整数和浮点数,其中浮点数例如:3.23或者52.3E-4,其中E表示10的幂
字符串 string
它是字符(character)的序列(sequence)
单引号
用来指定字符串,其中包含的空格和制表符都会按原样保留
双引号
与单引号一样的作用,其中可以包含单引号,例如:"what's your name?"
三引号
更厉害,可以自由包含单引号、双引号,用来指定多行字符串
格式化
这个有点像linux中shell脚本的$1、$2
等等,用于替换每个参数值到格式所在的位置,例如:
age = 20
name = 'haha'
print('{0} was {1} years old'.format(name, age))
print('who is {0}?'.format(name))
# 结果会看到
# haha was 20 years old
它将{0}
对应到了变量name
,也就是format
的第一个参数,并且format会自动完成字符串转换的工作
这里注意:python的索引第一位是0
其实,{}
中的数字只是一个可选选项,其实还可以这样:
print('{} was {} years old'.format(name, age))
print('who is {}?'.format(name))
关于打印
print一般会在打印的字符结尾加换行符\n
,如果不想换行,可以自己指定结尾是''
表示空白,或者用' '
表示空格
# 以空白结尾
print('a',end='')
print('b',end='')
# 结果是ab
# 以空格结尾
print('a',end=' ')
print('b',end=' ')
print('c')
# 结果是a b c
关于转义
例如:想要生成一个包含单引号的字符串,是不能用'what's your name'
这样的书写方式的,因为python看到三个单引号,不知道从哪里开始到哪里结束
于是可以用反斜杠\
将第二个单引号转义
如果对反斜杠本身进行转义,要使用
\\
以上内容均与linux有相似之处
原始字符串
如果存在大量的需要转义的字符,每个都加\
有点冗余,于是可以在字符串前加一个r
或者R
,例如:r"Newlines are indicated by \n"
标识符命名
第一个字符必须是字母或者下划线;另外区分大小写
欢迎关注我们的公众号~_~
我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到jieandze1314@gmail.com
网友评论