Python——Task4

任务:

1.函数关键字
2.函数的定义
3.函数参数与作用域
4.函数返回值
5.file
打开文件方式(读写两种方式)
文件对象的操作方法
学习对excel及csv文件进行操作
6.os模块

一、函数的关键字

关键字是python内置的,具有特殊意义的标识符,自定义标识符命名时不可与之重复。
可通过以下代码查看python内置的关键字内容:

import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 
'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 
'raise', 'return', 'try', 'while', 'with', 'yield']

二、函数的定义

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
    语法:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

三、函数的参数和作用域

参数:
https://zhuanlan.zhihu.com/p/29910063
https://www.runoob.com/python/python-functions.html
作用域:
局部作用域:函数中定义的变量
嵌套的父级函数的局部作用域:包含此函数的上级函数的局部作用域,但是不是全局的
全局作用域:模块级别定义的变量
内置作用域:系统固定模块里边的变量
四、函数返回值
return返回的是函数的输出,可以用变量接走,继续使用该返回值做其他事。print仅仅打印在控制台。
return语句的作用:结束函数调用、返回值。
在Python的函数中都有一个返回值,默认为None。也可以使用return value语句来定义一个且只能定义一个可为任意类型的返回值。但是我们能够返回一个序列类型的对象,来实现返回多个值的效果。
很多初学者会混淆两者间的区别,总的来说:return返回值并结束函数,而print仅仅是打印输出。
return:调用函数后,return将 0 返回并赋值给value1,同时结束函数。所以只能返回 0 。
print :循环将 0 1 2 全部打印出来,但是因为函数没有return语句定义的返回值,所以返回默认None并赋值给value2 。

五、file

1、打开文件的方式

with open('data.txt', 'r') as f:
    data = f.read()
    print('context: {}'.format(data))

open() 接收一个文件名和一个模式作为它的参数,r 表示以只读模式打开文件。想要往文件中写数据的话,则用w 作为参数。

with open('data.txt', 'w') as f:
    data = 'some data to be written to the file'
    f.write(data)

2、文件对象的操作方法
在这里插入图片描述
3、 学习对excel及csv文件进行操作
https://www.cnblogs.com/cnkemi/p/8671493.html

import csv
 #读取csv文件内容方法1
 csv_file = csv.reader(open('testdata.csv','r'))
 next(csv_file, None)    #skip the headers
 for user in csv_file:
     print(user)
      #读取csv文件内容方法2
with open('testdata.csv', 'r') as csv_file:
     reader = csv.reader(csv_file)
     next(csv_file, None)
     for user in reader:
         print(user)
 
 #从字典写入csv文件
 dic = {'fengju':25, 'wuxia':26}
 csv_file = open('testdata1.csv', 'w', newline='')
 writer = csv.writer(csv_file)
 for key in dic:
     writer.writerow([key, dic[key]])
 csv_file.close()   #close CSV file
 
 csv_file1 = csv.reader(open('testdata1.csv','r'))
 for user in csv_file1:
 1 import xlrd, xlwt   #xlwt只能写入xls文件
 2 
 3 #读取xlsx文件内容
 4 rows = []   #create an empty list to store rows
 5 book = xlrd.open_workbook('testdata.xlsx')  #open the Excel spreadsheet as workbook
 6 sheet = book.sheet_by_index(0)    #get the first sheet
 7 for user in range(1, sheet.nrows):  #iterate 1 to maxrows
 8     rows.append(list(sheet.row_values(user, 0, sheet.ncols)))  #iterate through the sheet and get data from rows in list
 9 print(rows)
10 
11 #写入xls文件
12 rows1 = [['Name', 'Age'],['fengju', '26'],['wuxia', '25']]
13 book1 = xlwt.Workbook()   #create new book1 excle
14 sheet1 = book1.add_sheet('user')   #create new sheet
15 for i in range(0, 3):    
16     for j in range(0, len(rows1[i])):
17         sheet1.write(i, j, rows1[i][j])
18 book1.save('testdata1.xls')   #sava as testdata1.xls

六、os模块

https://www.cnblogs.com/yufeihlf/p/6179547.html
getcwd():返回当前工作目录
chdir(path):改变工作目录
listdir(path=’.’):列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)
mkdir(path)创建单层目录,如该目录已存在抛出异常
makedirs(path)递归创建多层目录,如该目录已存在抛出异常
remove(path)删除文件
rmdir(path)删除单层目录,如该目录非空则抛出异常
removedirs(path)递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
rename(old, new)将文件old重命名为new
system(command)运行系统的shell命令
walk(top)遍历top路径以下所有的子目录,返回一个三元组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值