社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python语法基础

生信修炼手册 • 5 年前 • 642 次点击  

欢迎关注”生信修炼手册”!


学一门语言,基础语法一定要扎实。很多入门的编程书籍,都会花大量的篇幅来介绍基础语法,对于毫无编程经验的新手而言,这样的书籍无疑是很友好的,但是对于有编程经验的开发者而言,很多的基础语法是通用的, 只需花费较少的时间浏览下基础语法,将精力集中在语言独有的特征上即可。

在这里推荐几本基础的,适合新手查看的入门书籍

python简明教程
https://bop.mol.uno/
think python
https://cycleuser.gitbooks.io/think-python/content/
廖雪峰的python教程
https://www.liaoxuefeng.com/wiki/1016959663602400


下面是我自己总结的一些基础语法

1. 变量名称

  • 变量名称由数字,字母,下划线构成,且不能以数字开头

  • 变量名称区分大小写

  • 变量名称不能是语言本身的关键词,比如def等

2. 注释

单行注释以井号#开头,多行注释以三个单引号'''或者双引号"""开头,用法如下

# 这里是单行注释,独占一行
print('hello wordld')
print('hello world') # 这里是单行注释,放在语句的后面
'''
这里是多行注释
允许多行文本
'''
print('hello wordld')
"""
这里是多行注释
允许多行文本
"""
print('hello wordld')

在python中,单引号与双引号的功能是相同的,为了更加省时省力,一般用单引号,单引号键盘输入更加方便。

3. 数据类型

变量的基本作用就是存储数据,用法如下

num = 3

num就是变量,=表示赋值,3就是这个变量存储的值。存储的值拥有不同的类型,常见的类型包括以下几种

  1. int

  2. float

  3. string

  4. bool  

前两种表示数字,其中int表示整数,float表示浮点数,也就是小数; string表示字符串,字符串以单引号或者双引号括起来,bool型只有两种取值,TrueFalse,注意布尔型值的两侧没有引号。

不同类型的数据之间可以转换,用法如下

# 数字转字符串
str(3)
str(3.1)
# 字符串转数字
int('3')
float('3.1')
# 整形转浮点型
float(3)

在python中,有一种特殊的数据类型None,表示空值,没有值,类似R语言中的NULL。

4. 运算符

针对数字的数学运算,常见的有以下几种

  1. 加 +

  2. 减 -

  3. 乘 *

  4. 乘方 **

  5. 除  /  

  6. 整除 //

  7. 取余 %

用法如下

print(3 + 2)    # 5
print(3 - 2) # 1
print(3 * 2) # 6
print(3 ** 2) # 9
print(3 / 2) # 1.5
print(10 // 3) # 3
print(3 % 2) # 1

针对字符串的运算,包括以下几种

  1. 字符串连接 +

  2. 字符串重复 *

用法如下

print('abc' + 'def') # abcdef
print('abc' * 3) # abcabcabc

当我们对变量的值进行运算,然后重新赋值,类似下面这个语句

num = 3
num = num + 2

此时,可以将赋值符号与运算符相结合,进行简写, 用法如下

num += 2  # num = num + 2
num -= 2 # num = num - 2
num *= 2 # num = num * 2
num /= 2 # num = num / 2
num **= 2 # num = num ** 2
num //= 2 # num = num // 2
num %= 2 # num = num % 2

需要注意的是,在其他语言中会有x++, x—`的语句,表示在原来值的基础上加1,在python中不存在这样的用法。

同时针对数字和字符串的比较运算符,包括以下几种

  1. 大于 >

  2. 小于 <

  3. 大于等于 >=

  4. 小于等于 <=

  5. 不等于 !=

  6. 相等 ==

针对布尔值的逻辑运算符,常用于条件判断语句中,包括以下几种

  1. and

  2. or

  3. not

用法如下

3 > 2 and  5 > 3
3 < 2 or 5 > 3
not 3 < 2

5. 控制结构

控制结构包括条件判断和循环两种,在python中,摒弃了传统的用大括号包围代码块的特点,改用缩进来表示,条件判断对应if语句,写法如下

# 单个if
if x > 3:
print(1)
# if .. else
if x > 3:
print(1)
else:
print(2)
# if ..elif ..else
if x > 3:
print 1
elif x > 2:
print 2
elif x > 3:
print 3
else:
print 4

循环有for循环和while循环两种,for循环通过成员运算符in来实现,用法如下

letters = ['a', 'b', 'c']
for i in letters:
print(i)

for循环用于针对每个元素进行相同操作的场景,while循环用于给定条件下的操作,用法如下

while x <= 10:
x +=1

在python中,针对forwhile循环,还加入了else语句,用于循环结束后的在执行一条语句,用法如下

for i in letters:
print(i)
else:
print('hello')

简单的循环几乎用不到else分支,但是其实else分支尤其特定的使用场景,后续在深入讨论。

循环还需要控制控制语句,有以下两种
1.跳出循环, break
2.跳过循环, continue

6. 数据结构

数据结构将基本的数据类型组合起来,方便访问和操作,python常见的数据有以下几种

  1. 列表, list

  2. 元组, tuple

  3. 集合,set

  4. 字典, dict

写法如下

letters = ['a', 'b', 'c'] # 方括号表示列表
letters = ('a', 'b', 'c') # 圆括号表示元组
letters = set((['a', 'b', 'c')) # 集合
letters = {'1' : 'a', '2' : 'b', '3' : 'c' } # 大括号表示字典

数据结构的相关操作是重中之重,后续再深入讨论。

9. 函数

函数通过def关键词来定义,函数具有函数名称,参数列表,返回值等特征,最基本的用法如下

# 定义
def add(a, b):
return(a, b)
# 调用
total = add(2, 3)

关于函数,在python中其实有很多的用法细节,后续在深入讨论。

10. 模块

模块是别人已经开发测试好的,具备完整功能的代码,通过模块可以大大扩展语言的功能。模块的用法在编程语言中广泛存在。要使用模块,必须先导入模块,导入模块的几种常见语法如下

#  一次性导入模块中的所有方法,简单粗暴
import os
# 和上述用法一样,模块名太长,设置了别名
import numpy as np
# 只导入模块中的某一个函数,按需导入
from os import system

导入模块之后,就可以使用模块中的方法了。python中的模块分为两种,第一种是内置模块,也称为标准库,python安装好之后就可以使用了,第二种是第三方模块,需要单独安装之后才可使用,最常用的安装方式是pip安装,基本用法如下

pip install numpy

11. 面向对象

python原生支持面向对象的开发功能, 这也是区别于perl等脚本语言的一大特点。对于简单的脚本编程,其实用到面向对象的机会不多,在初学的时候,可以不用花费很多精力在这块。只需记住一点,类的函数称之为方法,其调用方式和普通函数有区别

# python
line.split("\t")
# perl
split /\t/, $line

传统的函数调用先写函数名称,后面是参数,而类的方法在实例化对象的基础上,用点号连接方法名称。Python内置的很多变量类型也是类的实例,所以其操作都是基于类的方法来操作的。

·end·

—如果喜欢,快分享给你的朋友们吧—



原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
  更多精彩



  写在最后


转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。


扫描下方二维码,关注我们,解锁更多精彩内容!


一个只分享干货的

生信公众号


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62403
 
642 次点击