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

import keyword
print(keyword.kwlist)
1
2
结果有[‘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’]
一共有33个关键字。

二、函数的定义
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数:可以定义一个任意功能的函数,以下是简单的规则:
1) 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
2) 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3) 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4) 函数内容以冒号起始,并且缩进。
5) return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
函数定义使用def关键字,一般格式如下:
def 函数名(参数列表):
函数体

三、函数参数与作用域
1.调用函数时可使用的正式参数类型:
a. 必需参数:
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用printme()函数,你必须传入一个参数,不然会出现语法错误。
b. 关键字参数:
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。以下实例在函数printme()调用时使用参数名。
c. 默认参数:
调用函数时,如果没有传递参数,则会使用默认参数。以下实例中如果没有传入 age 参数,则使用默认值。
d. 不定长参数:
当需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数。和上述2种参数不同,声明时不会命名。基本语法如下:
def functionname([formal_args,] *var_args_tuple ):
“函数_文档字符串”
function_suite
return [expression]
2.作用域分类:
1)全局作用域:在整个程序运行环境中都可见。
2)局部作用域:在函数、类等内部可见,局部作用域中的变量成为局部变量,适用范围不能超过其所在的局部作用域。

四、函数返回值
1.函数返回值可以是任意的数据类型
2.如果有返回值:必须要用变量接收才会有效果
3.函数可以没有返回值,默认返回给None,函数的返回值为None有三种情况:
(1)不写返回值 (2)只写一个return(3)return None (几乎不用)
4.return的作用:结束一个函数的执行
5.函数的返回值不为None,有返回值返回一个值(一个变量),返回多个值(多个变量),多个值之间用逗号区分。
接收:可以用一个变量接收,以元组的形式返回。也可以用多个变量接收,返回几个就用几个变量去接收,相当于解压式接收。

五、File:
a. 打开文件方式(读写两种方式)
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
1.读文件:要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:
f = open(’/Users/michael/test.txt’, ‘r’)
r表示是文本文件,rb是二进制文件。(这个mode参数默认值就是r)
如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在
2. 写文件:
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w’或者’wb’表示写文本文件或写二进制文件。

b. 文件对象的操作方法
open()方法:Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。使用open()方法一定要保证关闭文件对象,即调用close()方法。
open()函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode=‘r’)
完整的语法格式为:
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明: file:必需,文件路径(相对或者绝对路径)。
mode:可选,文件打开模式
buffering:设置缓冲
encoding:一般使用
utf8 errors:报错级别
newline:区分换行符
closefd:传入的file参数类型
mode模式有:
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。

打开一个文件进行更新(可读可写)。
U 通用换行模式(不推荐)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
c. 学习对excel及csv文件进行操作
(1) python读写csv文件
import csv
#读取csv文件内容方法1
csv_file = csv.reader(open(‘test.csv’,‘r’))
next(csv_file, None) #skip the headers
for user in csv_file:
print(user)
#读取csv文件内容方法2
with open(‘test.csv’, ‘r’) as csv_file:
reader = csv.reader(csv_file)
next(csv_file, None)
for user in reader:
print(user)
#从字典写入csv文件
dic = {‘a’:25, ‘b’:26}
csv_file = open(‘test1.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(‘test1.csv’,‘r’))
for user in csv_file1:
print(user)
(2)python读写excle文件
需要先用python pip命令安装xlrd,xlwt库
import xlrd, xlwt #xlwt只能写入xls文件
#读取xlsx文件内容
rows =[] #create an empty list to store rows
book = xlrd.open_workbook(‘testdata.xlsx’) #open the Excel spreadsheet as workbook
sheet = book.sheet_by_index(0) #get the first sheet
for user in range(1, sheet.nrows): #iterate 1 to maxrows
rows. append(list(sheet.row_values(user, 0, sheet.ncols))) #iterate through the sheet and get data from rows in list
print(rows)
#写入xls文件
rows1 = [[‘Name’, ‘Age’],[‘fengju’, ‘26’],[‘wuxia’, ‘25’]]
book1 = xlwt.Workbook() #create new book1 excle
sheet1 = book1.add_sheet(‘user’) #create new sheet
for i in range(0, 3):
for j in range(0, len(rows1[i])):
sheet1.write(i, j, rows1[i][j])
book1.save(‘testdata1.xls’) #sava as testdata1.xls

六、os模块
(1)os.sep:取代操作系统特定的路径分隔符
(2)os.name:指示你正在使用的工作平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
(3)os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。
(4)os.getenv()和os.putenv:分别用来读取和设置环境变量
(5)os.listdir():返回指定目录下的所有文件和目录名
(6)os.remove(file):删除一个文件
(7)os.stat(file):获得文件属性
(8)os.chmod(file):修改文件权限和时间戳
(9)os.mkdir(name):创建目录
(10)os.rmdir(name):删除目录
(11)os.removedirs(r“c:\python”):删除多个目录
(12)os.system():运行shell命令
(13)os.exit():终止当前进程
(14)os.linesep:给出当前平台的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’
(15)os.path.split():返回一个路径的目录名和文件名
(16)os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件
(17)os.path.existe():检验给出的路径是否真的存在
(18)os.listdir(dirname):列出dirname下的目录和文件
(19)os.getcwd():获得当前工作目录
(20)os.curdir:返回当前目录(’.’)
(21)os.chdir(dirname):改变工作目录到dirname
(22)os.path.isdir(name):判断name是不是目录,不是目录就返回false
(23)os.path.isfile(name):判断name这个文件是否存在,不存在返回false
(24)os.path.exists(name):判断是否存在文件或目录name
(25)os.path.getsize(name):或得文件大小,如果name是目录返回0L
(26)os.path.abspath(name):获得绝对路径
(27)os.path.isabs():判断是否为绝对路径
(28)os.path.normpath(path):规范path字符串形式
(29)os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
(30)os.path.splitext():分离文件名和扩展名
(31)os.path.join(path,name):连接目录与文件名或目录
(32)os.path.basename(path):返回文件名
(33)os.path.dirname(path):返回文件路径

七、datetime模块
Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致。time模块相比,datetime模块提供的接口更直观、易用,功能也更加强大。
datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能。
1.datetime模块中定义的类
datetime模块定义了以下几个类:
datetime.date:表示日期,常用的属性有:year, month和day
datetime.time:表示时间,常用属性有:hour, minute, second, microsecond
datetime.datetime:表示日期时间
datetime.timedelta:表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒
datetime.tzinfo:时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。
datetime.timezone:Python 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量
需要说明的是:这些类的对象都是不可变的。
2.datetime模块中定义的常量
datetime.MINYEAR:datetime.date或datetime.datetime对象所允许的年份的最小值,值为1
datetime.MAXYEAR:datetime.date或datetime.datetime对象所允许的年份的最大值,只为9999
3.对象方法和属性
d.year:年
d.month:月
d.day:日
d.replace(year[, month[, day]]):生成并返回一个新的日期对象,原日期对象不变
d.timetuple():返回日期对应的time.struct_time对象
d.toordinal():返回日期是是自 0001-01-01 开始的第多少天
d.weekday():返回日期是星期几,[0, 6],0表示星期一
d.isoweekday():返回日期是星期几,[1, 7], 1表示星期一
d.isocalendar():返回一个元组,格式为:(year, weekday, isoweekday)
d.isoformat():返回‘YYYY-MM-DD’格式的日期字符串
d.strftime(format):返回指定格式的日期字符串,与time模块的strftime(format, struct_time)功能相同

本资料仅为学习总结之用。
---------------------

Python基础知识-Day4的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  3. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  4. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

随机推荐

  1. 神奇的幻方 noip2015day1 T1

     题目描述 Description 幻方是一种很神奇的N∗N矩阵:它由数字 1,2,3, … … ,N∗N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个 ...

  2. Nginx不转发http header

    使用nginx做http代理时,在Header中使用了一个名为api_key的属性,碰到http header不转发的问题. 问题源码: rc = ngx_http_parse_header_line ...

  3. Java排序算法之冒泡、选择、插入、快速

    JavaSort Java经典排序算法代码 2018-1-26更新:冒泡排序,选择排序,插入排序,快速排序 1. 冒泡排序 特点:效率低,实现简单 思想(从小到大排): 第1个数和第2个数比较,如果第 ...

  4. Spring MVC-视图解析器(View Resolverr)-XML视图解析器(Xml View Resolver)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_xmlviewresolver.htm 说明:示例基于Spring MVC 4.1 ...

  5. samba笔记

    ############ 1.安装网络yum ############ 2.安装createrepo [root@localhost ~]# yum install createrepo-0.9.8- ...

  6. luogu3155 [CQOI2009]叶子的染色

    题目大意 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根.内部结点和叶子均可)着以黑色或白色.你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点( ...

  7. C++虚函数默认实参的注意事项

    我们都知道当成员函数是虚函数的时候,函数调用取决于调用函数的对象的类型而不是指针或者应用的类型.这就是C++中的多态. 那么一个虚函数的实参的缺省值是什么呢?例如如下代码: #include < ...

  8. C#如何读写和创建INI文件(经典)转

    C#如何读写和创建INI文件 分类: c#程序设计2011-11-27 20:42 4935人阅读 评论(2) 收藏 举报 inic#stringbuffernullfile 在做项目过程中,有时需要 ...

  9. selenium3+python-多窗口、句柄(handle)

    一.获取当前窗口句柄 1.元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别. 2.人为操作的话,可以通过眼睛看,识别不同的窗口点击切换.但是脚本没长眼 ...

  10. JavaScript的实参、形参以及变量

    (1)js函数中什么是形参,什么是实参,两者有什么区别? 参数又称参变量,在js中函数接收的变量分为形参和实参.实参是指实际参与js函数调用使用的具体数据.形参是指函数被调用时,接收实参值的变量.根据 ...