这个标题说很大,因为是编程,但是本篇还是接地气的,所谓夯实基础决定上层建筑。
如果还没有安装入门环境首选 pycharm
,可以参见 三剑客 PyCharm 小试 。
学习编程语言的起点绕不过语法基础,因此本期推送一篇基础笔记,非常适合初学者收藏查询,顺手分享给需要的小伙伴吧~~
变量 变量是针对常量来提出的,常量是指在程序中不会改变的量,而变量就可以用于储存不同的计算结果或者不同类型的数据。变量的特点就是可以修改与赋值。
Python 语言中,共有以下五种标准变量类型:
在具体展开这这些变量类型之前,我们需要强调一个用于变量命名的规则:
and as assert break class continue def del elif else except exec finally for from global if in import is lambda not or pass print raise return try while with yield
在搜索规范的过程中,搜索到一个 PEP8
编写规则,即Python Enhancement Proposal 的缩写,指Python的增强建议书,增加规范编码性,提高可读性。以下摘录部分变量命名的规则,具体规则可以参见PEP 8 - Python代码规范指南。
由于Python库的命名约定本身有点混乱,因此可能命名永远不会一致。但是,还是有必要提及推荐的命名标准,作为内部一致性的首选。
Naming Conventions 命名规范 Overriding Principle 首要原则 Descriptive Naming Styles 命名风格描述 Prescriptive Naming Conventions 约定俗成的命名 Names to Avoid 需要避免的命名方式 Package and Module Names 包名和模块名情况 Class Names 集名 情况 Exception Names 异常名解决 Global Variable Names 全局变量名 Function Names 函数名 Function and method arguments 函数和参数 Method Names and Instance Variables 变量实例 Constants 常量 Designing for inheritance 设计传承
详细参见 http://legacy.python.org/dev/peps/pep-0008/
PEP 8 -- Style Guide for Python Code 突然有一种入门门槛变高的感觉,一个命名就包含这么多规则需要遵循。其实还不仅仅如此,还有:
其实说人话就是,写的代码看起来会很高级。虽然复杂,但是如果在早期就能将这些规则熟悉,养成习惯,也不失为一件好事。
当然,三剑客 也不是浪得虚名的,可以直接调用autopep8
用于规范代码,实在是太友好了。安装并不麻烦,首先在终端安装autopep8模块,
pip install autopep8
windows下要稍微麻烦一点,首先你需要知道python在电脑中的安装路径,找到开始菜单中的python右键属性,找到程序路径。
一般pip
应用程序在上级文件夹中的 Scripts
中,然后在 pycharm中的终端进入该路径后输入代码pip install autopep8
,当然使用绝对路径也是一样的。
安装成功了以后,在pycharm的菜单栏中找到Settings-Tools-External Tools
,对话框有以下几个输入的位置:
Name 自定义名称就好;
Program栏输入autopep8.exe
路径,与pip
安装在同一路径下;
Arguments栏中输入--in-place --aggressive --aggressive $FilePath$
;
Working directory输入$ProjectFileDir$
然后确定就好了。
简单来看一下效果,这里从PEP8官方指南中摘录了一段不规范的代码作为测试,
使用autopep8
以后自动修改以后的规范代码。例子中展示的是 「缩进」 的规范编写方式。也就是直接使用模块就能智能修改。
简单变量类型 简单变量由数字和字符串两部分,这也是构成三大数据结构的要素。
num1 = 10 print(type(num1)) print() num1 = float(num1) print(type(num1)) <class 'int '> <class 'float '>
这里要提一个检索时的小笔记,如下。在上述例子中只是展示数字类型及类型转换,因此在此不作深入的探讨~
python判断变量类型时,为什么不推荐使用type()方法
在old-style class中,任意instance的type
都是'instance'。所以绝对不能用type来判断其类型。
1、type可以只接收一个参数,打印其未知的所属的类型;而isinstance只能判断是否属于某个已知类型,所以,isinstance效率更高一些
2、isinstance可以判断子类对象是否继承于父类;而type不可以,type只能把类对象识别为instance实例类型,即老式类都是通过instance创建的
所以,type主要用于获取未知变量的类型,isinstance主要用于判断A类是否继承于B类。
Warning
New-style classes has been integrated into Python 2.7 and old-style classes has been removed in Python 3. Please refer to the Python tutorial and the Descriptor HowTo Guide for more up-to-date documentation about classes and descriptors respectively.
而python3版本中已删除旧版本的 old-style class,因此上述材料看看就好~
str1 = 'I' m a superman' File "C:/Users/user/PycharmProjects/Test/test1.py", line 1 str1 = ' I'm a superman'
^ SyntaxError: invalid syntax
因此需要修改为:
str1 = 'I\'m a superman' print(str1) str2 = "I'm a superman" print(str2) I'm a superman I' m a superman
大小写修改函数有lower
upper
capitalize
以及title
,略加尝试就能直观看到不同~
age = 2 text = combine = text + str(age) print(combine) print(text ,age) age:2 age: 2
转义字符在前面已经提及过了,还可以使用\n \t
表示换行符和制表符,感受一下~
text = 'Python\nC\nPerl' text1 = 'Python\tC\tPerl'
print (text) print () print (text1) Python C Perl
Python C Perl
好了,这一周的python入门就到这里,还剩三个数据类型将在下一周推送中发出。欢迎围观,下期见哈。
参考资料
http://legacy.python.org/dev/peps/pep-0008/
▼ 如果你生信基本技能已经入门,需要提高自己,请关注下面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。
▼ 如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。
猜你喜欢:
【热点】 三剑客 PyCharm 小试
青蒿素科普贴
2019年五篇Cell文献阅读集锦
circRNA实验新更 - circRNA实验设计优化方案笔记