一、python中的常用模块
1.os模块
1.1os模块
os.curdir 获取的是当前目录,返回的是相对路径
os.cpu_count 返回的是cpu核对应的线程数 无参数
os.get_cwd 获取的是当前的目录的路径(绝对路径) 无参数
os.listdir 返回的是给定路径下的所有文件(包含隐藏文件)且返回的是一个列表(相对路径)
os.mkdir 创建目录,且只能创建一个
os.environ 环境变量
1.2os.path模块
os.path模块是os中的小模块
引入模块:import os.path from os import path
import os.path as XXX 给该模块取别名为XXX
os.path.getsize 获取文件的大小(字节) 参数:绝对路径
2.random模块
import random
random.randint 产生随机整数[m, n]取得n
random.choice 从不为空的序列中取一个随机元素
random.choices([], k=2)取两个元素 可能取重复
random.sample([], weights[], k =)不会重复
random.randrange 产生的是一个范围内的随机整数 [m, n]
3.time模块
time.sleep 表示休眠时间(停几秒),单位秒
time.asctime 获取当前时间
time.ctime 获取当前时间
time.localtime 获取本地时间,返回的是对象,用来格式化时间
time.time 获取当前时间的时间戳 返回秒
time.strftime()输入一个时间元组
二、随机数
在python中的random模块是不能直接拿来使用的,需要使用import引入后使用。
1.随机一个1-10之间的小数
random.uniform(x,y)是随机产生一个x-y的小数,包含x但不包含y.
import random
print(random.uniform(1, 11))
#运行结果:9.99569177002431
2.随机一个99-999之间的整数
random.randrange(x,y)随机产生一个x-y的整数,包含x但不包含y.
print(random.randrange(99, 1000))
#运行结果:864
3.从列表中随机一个元素
random.choice(seq)从序列中随机选择一个元素.
print(random.choice([2, 4, 6, 8, 10, 12]))
#运行结果:10
4.从列表中随机两个元素
random.choices([], k=2)取两个元素 可能取重复.按元素对应的权重(在这指的是选中的几率大一点,并非一定会选中,毕竟使用的random模块是随机数模块),随机选取两个元素(以列表的形式)。
list_data = [2, 4, 6, 8, 10]
print(random.choices(list_data, cum_weights=[10, 15, 20, 25, 30], k=2))
#运行结果:[4, 6]
二、函数
函数:function 功能
能够实现某一功能的代码
定义函数:定义了一个function类型的变量(变量的名字就是函数名)
定义的时候不执行函数体中的语句
执行函数:function_name(参数)
才执行函数体中的语句。
定义的语法:
def function_name([arg1, arg2…]):
statement1
statement2
…
return value1, value2…(optional)
return 返回值,函数执行完return之后就结束了
其他语言中,只有一个返回值
在python中可以有多个返回值,如果用一个变量来接收返回值,对应的类型是元组
1.定义一个函数:含有一个参数,取得传入字符串的第一个字符和最后一个字符并返回
函数功能:取得传入字符串的第一个字符和最后一个字符并返回
def choice_str(arg):
return arg[0], arg[1]
str_data = "222334"
print(choice_str(str_data))
#运行结果:('2', '2')
2.定义一个函数:可以传入一个参数或者多个位置参数,参数的个数不定。
函数功能:计算所有参数的和,然后返回。(包括整形,浮点型)
def sum_var(*args):
n = 0
for i in args:
n += i
return n
print(sum_var(1, 1.1, 2.3, 14.4, 40))
#运行结果:58.8
3.定义一个函数:可以接受一个或者多个关键字参数,参数的个数不定。
函数功能:输出所有关键字参数的key和value.
def sum_var(**kwargs):
return kwargs.keys(), kwargs.values()
data = sum_var(a=1,b=1,c=28)
print(data)
#运行结果:(dict_keys(['a', 'b', 'c']), dict_values([1, 1, 28]))
4.定义一个函数:2个位置参数,2个关键字参数
功能:打印所有参数
4.1全部以关键字参数的形式传参
def sum_var(arg1, arg2, arg3=11, arg4=28):
return arg1, arg2, arg3, arg4
data = sum_var(arg1=1, arg2=2, arg3=5, arg4=7)
print(data)
#运行结果:(1, 2, 5, 7)
4.2全部以位置参数的形式传参
def sum_var(arg1, arg2, arg3=11, arg4=28):
return arg1, arg2, arg3, arg4
data = sum_var(1, 2, 4, 22)
print(data)
#运行结果:(1, 2, 4, 22)
4.3以位置参数和关键字混合的形式传参
(关键字必须在位置参数之后)
def sum_var(arg1, arg2, arg3=11, arg4=28):
return arg1, arg2, arg3, arg4
data = sum_var(4, 22, 8, arg4=56)
print(data)
#运行结果:(4, 22, 8, 56)
4.4带默认值的参数不传,只传位置参数
(arg3和arg4有初始值,在没有传参时使用初始值.)
def sum_var(arg1, arg2, arg3=4, arg4=22):
return arg1, arg2, arg3, arg4
data = sum_var(11, 28)
print(data)
#运行结果:(11, 28, 4, 22)
5.定义一个函数:总共有四个参数
要求:前两个参数只能以位置参数传入
后两个参数只能以关键字参数传入
在传入实参时,在’/‘之前的参数只能以位置参数传入(若传入关键字参数会报错),之后可以传入位置参数或者关键字参数。
在’*'之后必须以关键字参数的形式传入(若传入位置参数会报错)。
def sum_var(arg1, arg2, /, *, arg3=4, arg4=22):
return arg1, arg2, arg3, arg4
data = sum_var(11, 28, arg3=56, arg4=10)
print(data)
#运行结果:(11, 28, 56, 10)