python基础(四)

python基础(四)

1. 函数

(1) 关键字与函数的定义与函数返回值
函数代码以关键字def开始,后接函数标识符和圆括号(),函数内容以冒号开始并且缩进,最后以return结束,退出函数,如果不带返回值相当于返回none

def functionName (parameters):
	'''函数文档字符串,存在__doc__中'''
	......  ##函数内容
	return [expression]

(2) 参数与作用域
型参:定义函数时括号内的对象为型参,没有实际的意义,只是函数工作时需要的一项信息
实参:调用函数时括号内的对象为实参,是一个实际存在的对象

def add_num(a, b):
	return a + b
num_a = 10
num_b = 11
add_num(num_a, num_b)
## a 与 b 为型参,表示调用函数时需要传给函数的信息, num_a, num_b 为实参

add_num(b = num_b, a = num_a)
## 以上为关键字实参的使用方式,关键字实参可以让函数调用者忽略参数的顺序

def add_num_p(a, b = 10)
	return a + b
num_a = 6
add_num_p(num_a)
## 默认参数,如上所示,当调用函数时没有传入参数 b ,b 将使用定义时的默认值参与函数运算,默认参数只能在参数列表的最后面

变量作用域:变量分为全局变量与全局变量,全局变量定义在函数外,拥有全局作用域,局部变量定义在函数内部,只能在函数内部进行访问

num_a = 5
def func1():
	num_b = 10
	return num_a + num_b
## 正确,num_a 为全局变量,在函数内部可以被访问,num_b 在 func1() 内部定义,可以被 func1() 访问

def func2():
	return num_a - num_b
## 错误,num_b 在 func1() 内部定义,只能在 func1() 内部进行访问

2. File

(1) 打开方式(读和写)

path = '../sample.txt'
# 以只读方式打开文件。文件的指针将会放在文件的开头。是默认模式
a = open(path, 'r')
txt = a.read()

# 写文件 若路径所代表文件不存在则新建文件,若已存在则覆盖原文件
a = open(path, 'w')
a.write('asdasd')

#打开一个文件用于追加。若路径代表文件已存在,指针向文件的结尾。新加的内容写到文件最后。如果该文件不存在,创建新文件进行写入
a = open(path, 'a')
a.wirte('sdsadasd')

(2) 文件对象的操作方法
文件对象的操作方法

3. 对CSV文件以及Excel的一些操作

(1) 对Excel的操作(原博客)

import xlrd
import xlwt
from datetime import date,datetime

def read_excel():
    # 打开文件
    workbook = xlrd.open_workbook(r'F:\demo.xlsx')
    # 获取所有sheet
    print workbook.sheet_names() # [u'sheet1', u'sheet2']
    sheet2_name = workbook.sheet_names()[1]

    # 根据sheet索引或者名称获取sheet内容
    sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
    sheet2 = workbook.sheet_by_name('sheet2')

    # sheet的名称,行数,列数
    print sheet2.name,sheet2.nrows,sheet2.ncols

    # 获取整行和整列的值(数组)
    rows = sheet2.row_values(3) # 获取第四行内容
    cols = sheet2.col_values(2) # 获取第三列内容
    print rows
    print cols

    # 获取单元格内容
    print sheet2.cell(1,0).value.encode('utf-8')
    print sheet2.cell_value(1,0).encode('utf-8')
    print sheet2.row(1)[0].value.encode('utf-8')
    
    # 获取单元格内容的数据类型
    print sheet2.cell(1,0).ctype

(2) 对csv文件的操作(原博客)
csv 模块包含在 python 标准库中,可以用于分析 csv 文件中的数据

import csv
## 读取csv文件中的数据
with open('test.csv', 'r') as csvfile:
	reader = csv.reader(csvfile)
	for line in reader:
		print(line)

## 写入 csv 文件
with open('test.csv', 'w') as csvfile:
	writer = csv.writer(csvfile)
	writer.writerow(['index', 'a', 'b'])
	writer.writerow([[1, 2, 3], [2, 3, 4], [3, 4, 5]])

'''
index		a		b
	1		2		3
	2		3		4
	3		4		5
'''

4. os模块

os 模块提供了非常丰富的方法用来处理文件和目录,该模块提供了一个统一的操作系统接口函数,该模块能在不同操作系统平台中的特定函数之间自动切换,从而实现跨平台
用dir()查看了一下 os 的一些属性和方法,如下
在这里插入图片描述
挑几个说一下
(1) os.path
os.path 主要用于获取文件的属性

import os
os.path.abspath(path) ## 将文件相对路径转换为文件的绝对路径

os.path.split(path) ## 把路径分割成 dirname 和 basename,返回一个元组,如下面代码                                                                                         
path = 'fir/file'
print(os.path.split(path))
输出为:('fir', 'file')

os.path.join(path1[, path2[, ...]]) ## 将目录与文件名合成一个路径
path1 = 'fir'
path2 = 'file'
print(os.path.join(path1, path2))
输出为:'fir/file'

(2) os.getcwd() 获取当前路径
(3) os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表
(4) os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹。默认的 mode 是 0777 (八进制)
(5) os.open(path, flag) 打开一个文件,并且设置需要的打开选项(读或写或别的权限)

5. datetime 模块(原博客)

datetime模块的属性及方法
在这里插入图片描述
(1) 获取datetime

import datetime
datetime.datetime.now() ## 当前 datetime 结果为:2019-05-17 19:36:03.097352
datetimw.date.today() ## 今天的datetime 结果为:2019-05-17
datetime.date.today() + datetime.timedelta(days=1) ## 获取明天,结果为:2019-05-18
datetime.datetime.now() - datetime.timedelta(days=3) ## 获取三天前,结果为:2019-05-14

(2) datetime与别的类型的格式转换

## datetime <=> string
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") ## datetime => string
datetime.datetime.strptime("2019-05-18 19:50:10", "%Y-%m-%d %H:%M:%S") ## string => datetime

## datetime <=> timestamp
timestamp = time.mktime(datetime.datetime.now().timetuple()) ## datetime => timestamp
datetime.datetime.fromtimestamp(1558094438.0) ## timestamp => datetime
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值