今日目标:
切片
内置模块
面向对象(简单讲解)
IO流
异常
切片:
python专门针对于有序序列(sequence),提供了切片,方便于程序员进行切割
对象[num:] # 表示从num这个索引开始切割,切割到最后
对象[start:end] # 表示冲start索引位开始切割,到end位结束,[start, end)前闭后开区间
对象[start:end:step] # step表示步长,默认为1
在python中,我们一般使用正索引,从左到右,第一个是0,第二个是1,以此类推
但是也存在,负索引,从右到左读,第一个是-1, 第二个是-2,以此类推
注意:虽然索引存在正负,但是切片永远都是从左到右切!!!!
内置模块:
python是一门简单的编程语言:
1、python设计之初,设计者就是为了一门简单的编程语言(让小孩子都能学习会)
2、提供了大量的内置模块
封装了很多有用的功能
3、存在着大量的第三方模块
内置模块:
什么是模块(module): 当做一个xxx.py就是一个模块
包(package):就是存放模块的文件夹
内置模块:就是官方已经提供好了,内置到cpython解释器中的模块
random:
常见方法:
'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate',
'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate',
'paretovariate', 'randint', 'random', 'randrange', 'sample',
'seed', 'setstate', 'shuffle', 'triangular', 'uniform',
'vonmisesvariate', 'weibullvariate']
|-- randint(a, b) # 返回一个随机整数, 返回[a, b]
|-- choice(seq) # 随机在序列中获取一个值
|-- random() # [0, 1)随机数
|-- randrange(a, b) # 返回一个随机整数, 返回[a, b)
|-- shuffle(seq) # 随机洗牌
|-- uniform(a, b) # 返回一个随机数, 返回[a, b)
math:
'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign',
'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs',
'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf',
'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log',
'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians',
'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
|-- e # 自然常数
|-- pi # 圆周率
|-- ceil() # 向上取整
|-- floor() # 向下取整
|--
os:
主要操作操作系统的文件系统:
'abc', 'abort', 'access', 'add_dll_directory', 'altsep', 'chdir', 'chmod',
'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding',
'devnull', 'dup', 'dup2', 'environ', 'error', 'execl', 'execle', 'execlp',
'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fdopen', 'fsdecode',
'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'get_exec_path',
'get_handle_inheritable', 'get_inheritable', 'get_terminal_size', 'getcwd',
'getcwdb', 'getenv', 'getlogin', 'getpid', 'getppid', 'isatty', 'kill',
'linesep', 'link', 'listdir', 'lseek', 'lstat', 'makedirs', 'mkdir', 'name',
'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', 'putenv', 'read',
'readlink', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir',
'scandir', 'sep', 'set_handle_inheritable', 'set_inheritable', 'spawnl',
'spawnle', 'spawnv', 'spawnve', 'st', 'startfile', 'stat', 'stat_result',
'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd',
'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink',
'sys', 'system', 'terminal_size', 'times', 'times_result', 'truncate', 'umask',
'uname_result', 'unlink', 'urandom', 'utime', 'waitpid', 'walk', 'write'
|-- chdir() # 修改工作目录
|-- curdir # 获取当前目录,获取的是相对路径
|-- chmod # 修改权限
|-- cpu_count # 获取CPU的线程数
|-- getpid() # 获取当前进程编号
|-- getppid() # 获取当前进程编号
|-- listdir([url]) # 遍历路径下的所有文件的名称
|-- mkdir() # 创建文件夹
|-- makedirs() # 级联创建文件夹,可以创建多个
|-- rmdir() # 删除文件夹
|-- rename() # 重命名
|-- renames() #
|-- remove() # 删除文件
|-- removedirs() #
os.path
|-- abspath(url) # 获取url的绝对路径
|-- basename(url) # 获取url的文件名称
|-- dirname(url) # 获取url的主目录
导包方式:
import xxx
import xxx.xxx.xxx
import xxx.xxx.xx as alias
from xxx.xxx.xx from xx
遍历磁盘:
uuid:
uuid.uuid4().hex
sys
|-- argv # 参数列表
|-- exit() # 退出系统
|-- getrecursionlimit() # 获取递归的最深层数
|-- setrecursionlimit() # 设置递归的最深层数
|-- getrefcount() # 获取对象引用计数的数量