Python快速入门

1. 基础

1.1 注释

# 在井号后面接的文字不会被python运行,一般用作写注释,方便自己/他人阅读

1.2 命名规范

  1. 变量
    变量名是全小写,单词之间用下划线_连接:var_name = expression
  2. 函数名(待补充)
  3. 文件名(待补充)

1.3 定义函数

def sum(x,y):
	# 每个方程开始的时候可以用3对双引号写一下这个方程的作用/不足/假设,例如这个sum:
    """ 
    把输入的两个数相加
    """
	total = x + y
	return total

第一行:def是告诉python你开始定义方程,sum是方程名字,括号里的xy是输入的变量,:表示接下来是我们要进行的运算。

第二行: 4个空格是他的格式排版要求,不打的话python会无法识别。total = x + y的意思是新建变量total用来储存x+y的值。

第三行:关键词return告诉python这个方程写完了要输出值。return total的意思就是输出变量total的值。

2. 数据

2.1 数据类型

type()我们可以知道一个变量的类型:

type(2)      # <class ’int’>   整数
type(2 / 3)  # <class ’float’> 浮点数(小数)
type("zero") # <class ’str’>   字符串
type("1")    # <class ’str’>   字符串
type(1 < 0)  # <class ’bool’>  布尔型
  1. 整数int: 正负整数。
  2. 小数float: 值域: ±1.79 × 10308
  3. 字符串str: 用单引号或者双引号引起来的内容。1是整数但"1"是字符串。
  4. 数列list: 同一类型数据的集合(第3.1节会细讲)
  5. 字典dict: key-value pairs(第5节会细讲)
  6. 集合set: 无序,无重复的元素集合,不一定要同一类型(第6节会细讲)

2.2 数据类型转换

进行强制类型转换:

int(2.0)
float(" -1.05")
str(0.75 * 1.75)

2.3 数字类型

运算:加+, 减-, 乘*, 除/
更多运算:指数**,向下整除//,求余%
比较:>, <, >=, <=, ==, !=

3. 条件判断与循环

3.1 list

l1 = [1,2,3,4] # 这就是一个包含1,2,3,4的整数列,被储存在一个叫做l1的变量里
l2 = ["你好","我也好"] # list可以储存多种数据类型比如字符串(String)
# 用print()可以打印变量
print("l1的类型是:",type(l1))   # type
print("l1的长度是:",len(l1))    # length
print("l1的第0个元素是:",l1[0]) # index
print(l1+l2)      # 把l1, l2并在一起
print(l1*2)       # 把l1复制两遍

输出结果:

l1的类型是: <class ‘list’>
l1的长度是: 4
l1的第0个元素是: 1
[1, 2, 3, 4, ‘你好’, ‘我也好’]
[1, 2, 3, 4, 1, 2, 3, 4]

值得一提的是,我们还可以截取list中的一部分,格式是list_name[start:end:step-size]list_name就是我们list的变量名,start:end就是我们的起始和中止indexstep-size就是我们要截取的步长,是隔一个取一个还是隔多几个。比如:

# l1的第0-3个元素, 不包括第3个元素
print(l1[0:3:1])    # 一个取一个
print(l1[0:3:2])    # 两个取一个
print(l1[0:3:3])    # 三个取一个

[1, 2, 3]
[1, 3]
[1]

其他内置函数:sorted(), max(), min(), append(), insert(), pop(), extend(), reverse()等。

3.2 用for遍历list

def sumList(input_list):
	'''
	把list里所有数相加
	'''
	total = 0 # 新建total变量,用于储存总和
	for number in input_list:  # 对于输入变量input_list的每一个元素
		total = total + number # 把这个元素加进总和
	return total # 输入total

for还有另一种写法:

def sumList(input_list):
	'''
	把list里所有数相加
	'''
	total = 0 # 新建total变量,用于储存总和
	for i in range(len(input_list)):  # i从0到list的长度
		total = total + input_list[i] # 用index把list的每个元素加进总和
	return total # 输入total

拓展(列表解析):
通常我们可以用for循环来创建自己想要的list,比如:

l = []
for i in range(10):
    l.append(i)
# 那么l现在就等于[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

列表解析可以说是for的另一种用法,但是运行速度会比for循环快!而且代码会更简洁!我们可以用以下一行代码实现以上的for循环,如下:

l = [i for i in range(10)] 

3.3 while loop

while与for都是循环,但是while是根据条件来判断是否停止循环。

def sumList(input_list):
	'''
	把list里所有数相加
	'''
	total = 0 # 新建total变量,用于储存总和
	i = 0     # 新建i变量
	while i < len(input_list):  # 当i小于list的长度
		total = total + input_list[i] # 用index把list的每个元素加进总和
		i++ # i自增,等同于 i=i+1
	return total # 输入total

3.4 if-else 条件判断

与while一样是根据条件判断进行操作,但不循环。

if is_Dog():
    # 如果你是狗进行接下来的操作
else:
    # 如果你不是,进行接下来的操作

基于sumList(),比如我们这次想把偶数都加起来:

def sumListEven(input_list):
    '''
    把list里所有偶数相加
    '''
    total = 0 # 新建total变量,用于储存总和
    for number in input_list:  # 对于输入变量input_list的每一个元素
        # 如果除以二余数为0,则进行接下来的操作。
        if (number%2 == 0): # ‘%’的意思是余数
            total = total + number # 把这个元素加进总和
    return total # 输入total

运行一下:

sumListEven([2,3,4])

6

4. 包package

package就是想python的外置工具箱,常用包有math,numpy,scipy。
这里拿math举例,更多关于math的函数详见:https://docs.python.org/3/library/math.html

# 要使用包需要先导入:
import math

可以调用一些数学的变量,比如:

math.pi
math.sin(30)
math.sqrt(4)

4.1 画图

# 导入包
import matplotlib.pyplot as plot

# 绘制直方图
plot.hist([first col, last col])
plot.legend(["column A", "column D"])
plot.show()

# 绘制折线图
plot.plot(first col, last col)
plot.xlabel("column A")
plot.ylabel("column D")
plot.show()

更多详见数据可视化:Python Matplotlib.pyplot 概要

4.2 导入csv文件

import csv
with open("filename.csv") as csvfile:
reader = csv.reader(csvfile)
data = [ row for row in reader ]

第几行第几列的数据读取:

data[i] # i:th row
data[i][j] # j:th column of i:th row

某一列数据读取:

first_col = [ row[0] for row in data ]
last_two_cols = [ row[-2:] for row in data ]

满足某条件(此行的第一个数据>1)的行:

sel_rows = [ row for row in data if row[0] > 1 ]

4.3 读取txt文件

my_file = open("notes.txt", "r") # 用“r”(阅读模式)打开文件
first_line = my_file.readline() # txt文件的第一行
second_line = my_file.readline()# txt文件的第二行
my_file.close() # 关闭文件


打开文件之前可以用os.path.exists(file_path)来确认文件是否存在。

5. 字典

字典是什么?之前有提到字典就是key-valuepairs,那具体是什么意思呢?
举个栗子:我现在创建一个字典来储存班里学生这次考试的分数,那我的key-valuepair就是学生姓名-分数。那我们给这个字典取名score。假设我们现在有两个学生:韩梅梅与李雷,他们分别考了98与60分:

 score = { "han meimei" : 98, "li lei" : 60 }

那我们这个非常简单的字典就创建完成了!那字典有什么作用呢?

  1. 读取成绩
score["han meimei"] # 就会输出han meimei的成绩
  1. 修改成绩
score["han meimei"] = 90 # 就会修改han meimei的成绩为90
  1. 添加学生-成绩
score["zhang san"] = 88 # 就会把zhang san的成绩是88放进我们的score字典
  1. 删除学生-成绩
del score["zhang san"] # 就会把zhang san和他的成绩从我们的score字典里面删除
# 与del相对应的还有
score.pop("zhang san") # 删除并返回他的成绩
score.popitem() # 删除任意一对值,并返回(key, value) pair
  1. 查看所有学生姓名/成绩/姓名-成绩
score.keys()
score.values()
score.items()
  1. 其他:创建空字典的两种方式:
adict = {}
adict = dict()

6. 集合Set

set是无序,无重复的元素集合,不一定要同一类型。

  1. 新建集合:
s = { 1, ’c’, (2.5, ’b’) } # 可以看到这个set有三个不同类型的element
# 或者
s = set("AGATGATT") # s = {’T’, ’A’, ’G’}
  1. 运算符
    在这里插入图片描述

7. 其他

7.1 用户输入

input_str = input("Enter a number: ")
input_int = int(input_str)

7.2 lambda expression

[1/x for x in range(1,6)]

[1.0, 0.5, 0.3333333, 0.25, 0.2]

7.3 异常Exception(又称报错)

当我们代码出现错误的时候,python会给我们提供错误信息/种类。所以会阅读错误信息也是很中啊哟的,以下是几种常见报错:

  • TypeError, ValueError: 错误的类型/数据
  • NameError, UnboundLocalError, AttributeError: 变量名未定义
  • IndexError: 序列index不在范围内
  • KeyError: 字典里没有这个key
  • ZeroDivisionError: 除以零
  • 等等

那我们该如何handle exception呢:

try:
	# 尝试做什么
except ExceptionName1:
	# 如果报了ExceptionName1这个错,我们做什么
except ExceptionName2:
	# 如果报了ExceptionName2这个错,我们做什么
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失眠软糖12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值