D4

函数

函数关键字
参数传递有两种方式:按位置、按名称
return并非函数必要的一部分他可以返回零个返回值也可以返回多个返回值(与c语言不同)
关键字参数就是在调用函数时()内所填写的相关参数,然后将参数传入函数中
函数定义
函数代码以def开头,后接函数标识符名称和()。
(1)可选参数传递:
def<函数名>(<非可选参数>,<可选参数>):
<函数体>
return <返回值>
举例:计算n!//m

def fact<n,m=1>:#m是可选参数,可以自己设定或者默认为1
    s=1
    for i in range(1,n+1):
     s*=i
    return s//m

(2)可变参数传递:
def<函数名>(<参数>,*b):
<函数体>
return <返回值>

例子:计算n!乘数
def fact(n,*b):
   s=1
   for i in range(1,n+1):
      s*=i
   for item in b:
      s*=item 
return s
fact(10,3)
fact(10,3,5,8)(10!逐一与3,5,8相乘)

函数参数与作用域
函数参数有:必备参数、关键字参数、默认参数、不定长参数
作用域:局部作用域、闭包函数外的函数中、全局作用域、内置作用域

规则一:global s是指在函数内部声明并使用全局变量
规则二:局部变量为组合数据类型且未创建,等同于全局变量
ls=[“F”,“f”]
def func(a):
ls.append(a)#ls是列表类型,在函数内部没有真实创建,等同于全局变量
return
func("C ")
print(ls)

匿名函数
(了解不常使用)lambda函数为定义函数的紧凑形式
举例:
1.f=lambda x,y:x+y
f(10,15)------>25
2.f=lambda:“lambda函数”
print(f())----->lambda函数

函数返回值
使用return退出函数,向调用功能函数的主函数返回值,不带参数则返回none

文件

打开文件方式:
1.文件是数据的抽象和集合
文件类型:(1)文本文件(有统一的字符编码长字符串,.txt文件,.py文件)/(2)二进制文件(没有统一,.png文件/.avi文件)

f.txt文件保存:“中国是个伟大的国家!”
#文本形式打开
tf=open("f.txt","rt")
print(tf.readline())
tf.close()
#用二进制形式打开
bf=open("f.txt","rb")
print(bf.readline())
bf.close()

文件对象的操作方法:
读文件
a.read(size=-1)读入全部内容,如果给出参数,读入前size长度
a.readline(size)读入一行内容,如果给出参数,读入改行前size长度
a.readlines(size)读入文件所有行,一每行为元素形成列表,如果给出参数,读入前size行
写文件
a.write(s)向文件写入一个字符串或字节流
a.writelines(lines)将一个元素全为字符串的列表写入文件
a.seek(offset)
改变当前文件操作指针的位置,
offset含义如下:0-文件开头;1-当前位置;2-文件结尾
打开关闭文件
<变量名>=open(<文件路径和名称>,<打开模式>)
<变量名>.close()

fname=input("请输入要打开的文件名称:")
fo=open(fname,"r")
for line in fo.readlines():
       print(line)
 fo.close()

对excel和csv文件的操作

import pandas as pd
df=pd.read_excel(r'默认路径')
df=pd.read_csv(r'默认路径')

OS模块

OS库提供通用的、基本的操作系统交互作用
OS库是Python标准库,包含几百个函数
常用路径操作(os.path子库、处理文件路径及信息)、进程管理(启动系统中其他程序)、环境参数(获得系统软硬件信息等环境参数)等几类。
路径操作
(1) os.path子库以path为入口,用于操作和处理文件路径
import os.path
import os.path as op
(2)os.path.abspath(path)返回path在当前系统中的绝对路径
os.path.normpath(path)归一化path的表示形式,统一用\分割路径
os.path.relpath(path)返回当前程序与文件之间的相对路径(relative path)
(2) os.path.dirname(path)返回path中的目录名称
Os.path.basename(path)返回path中最后的文件名称
Os.path.join(path.*path)组合path与paths,返回一个路径的字符串名称
(3) os.path.exists(path)判断path对应文件或目录是否存在,返回True或者False
Os.path.isfile(path)判断path所对应是否为已存在的文件,返回True或者False
Os.path.isdir(path)判断path所对应的是否为已存在的目录,返回True或者False
(4) os.path.getatime(path)返回path对应文件或者目录上一次的访问时间
(5) os.path.getmtime(path)返回path对应文件或目录最近一次的修改时间
(6) os.path.getctime(path)返回path对应文件或目录的创建时间
(7) os.path.getsize(path)返回path对应文件的大小,以字节为单位

进程管理
os.system(command)
执行程序或命令command
在Windows系统中,返回值为cmd的调用返回信息

Import os
    Os.system(“C:\\Windows\\Systems32\\calc.exe”)(调用计算器)
    0(调出计算器并返回0)

环境参数
获取或改变系统环境信息
os.chdir(path)修改当前程序操作的路径
os.getcwd()返回程序的当前路径
os.getlogin()获得当前系统登录用户的名称
os.cpu_count()获得当前系统的cpu数量
os.urandom(n)获得n个字节长度的随机字符串,通常用于加解密运算

datetime模块
datetime用于处理时间
(1)获取当前时间
>>> print datetime.datetime.now()
2019-06-30 16:39:15.712000
(2)获取当前日期

>>> print datetime.datetime.now().date()
2019-06-30

(3)获取计算机可处理的时间格式

>>> datetime.datetime.now().timetuple()
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=30, tm_hour=30, tm_min=51, tm_sec=26, tm_wday=4, tm_yday=198, tm_isdst=-1)
>>> datetime.datetime.now().timetuple().tm_mday
30

(4)时间移动(几天、几小时前后…)
使用datetime.timedelta这个方法来前后移动时间,可用的参数有weeks,days,hours,minutes,seconds,microseconds等。

print datetime.datetime.now() + datetime.timedelta(days=1)
2019-06-30 16:49:48.574000

print datetime.datetime.now() + datetime.timedelta(hours=1)
2019-06-30 17:49:57.122000

print datetime.datetime.now() + datetime.timedelta(minutes=-30)
2019-06-30 16:20:08.619000

(5)获取两个时间的时间差(now是本地时间,可以认为是你电脑现在的时间;utcnow是世界时间<时区不同,所以这两个时间也是有所不同>

(datetime.datetime.now() - datetime.datetime.utcnow()).total_seconds()

28800.0

(6)时间转化
datetime转str格式:

datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
‘2018-06-18 16:58:46’

str格式转datetime格式:

print datetime.datetime.strptime(“2018-06-18 16:58:46”,"%Y-%m-%d %H:%M:%S")
2018-06-18 16:58:46

print type(datetime.datetime.strptime(“2018-06-18 16:58:46”,"%Y-%m-%d %H:%M:%S"))
<type ‘datetime.datetime’>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值