函数的返回值问题:
一定注意:python的函数是允许返回多个值,
Java只能返回一个值
例:
如果要输入多个值用eval
如何将八进制的数转化为十进制的数
例:将八进制的123,转化为十进制的83
偏函数:
偏函数:将一个函数原有参数的默认值重新更改,让它的默认值更改
from functools import partial
新函数 = partial(原函数, 指定函数新的默认值)
字符串对象:
在python中,字符串是一种基本数据类型、
''
""
""""""
''''''
python又是面向对象的编程语言
字符串也是一种对象
['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',
'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier',
'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle',
'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans',
'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition',
'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip',
'swapcase', 'title', 'translate', 'upper', 'zfill']
|-- capitalize()
|-- center()
|-- ljust()
|-- rjust()
|-- count()
|-- index()
|-- find()
|-- rindex()
|-- rfind()
|-- format()
|-- startswith()
|-- endswith()
|-- isalnum()
|-- isalpha()
|-- isascii()
|-- isidentifier()
|-- isdigit()
|-- isdecimal()
|-- islower()
|-- isupper()
|-- lower()
|-- upper()
|-- encode([charset])
|-- decode([charset])
|-- join()
|-- split()
|-- rsplit()
|-- strip()
|-- rstrip()
|-- lstrip()
|-- replace()
注:Translate与maketrans一块使用会产生移位混淆(也就是移位加密,混淆加密)
切片:
有序序列(sorted sequence):
如:string(字符串)、列表、tuple(元组)
用来切割有序序列的
注:切片是从左向右切的
seq[start:]
例:s='hello chendu'
输入seq[3:]è返回'lo chengdu'
seq[:end]
例:s='hello chendu '
输入seq[:3]è返回'hel'
seq[start:end]
例:s='hello chendu '
输入seq[3:8]è返回'lo ch'
seq[start:end:step]
例:s='hello chendu '
输入seq[3::2]è返回'l hnu'
注意:1.切片是前闭后开的区间,如果默认不写,则首位表示0,第二个表示末尾,第三个表示步长
2.当步长为负数时,表示从右向左切,下标还是从左向右走的
3.在python,有序序列存在负索引,一般不建议使用,该所索引是从右向左读的
例:s='hello chendu '
输入seq[-6:]è返回'chendu'
模块入门:
模块是什么?
xx.py文件就是一个模块,也可以叫做脚本
通过模块直接的配合完成代码实现
如何导入模块或者包?
import modelName(模块)/package(包) # 导入模块/包
import packge(包).modelName (包对应的模块) (包就相当于一个文件夹) # 直接导入对应的函数或者类 等
import urllib.request as rq\ #取别名(rq后的\相当于换行 )
from modelName|package(包) import modelname|modelName(模块) # 店家推荐使用(导包)(导模块到函数)
注: 别名是可以使用在任何地方的
通过模块的定义者,可以将模块分为三大类:
内置模块:
自定义模块:有开发者自己定义的模块
第三方模块:第三方的开发者、公司、机构、组织发布的模块
内置模块:
random(随机数)
math(跟数学相关)
os
sys
uuid
os.path
hashlib(加密)
hmac
……
1.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'
]
—doc—其本质和help一样,help是调用帮助文档,每一个模块函数类的帮助文档
进入全局函数:import builtins(导入builtins模块)
|-- ceil()
例:math.ceil(3.1)è结果为4
|-- floor()
例:math.ceil(3.999)è结果为3
|-- math.e
例:math.eè结果为2.718281828459045
|-- math.pi
例:math.piè结果为3.141592653589793
|-- fabs()
例:math.fabs(-1)è结果为1.0
|-- isnan() not a number
例:math.isnan(5)è结果为False
|-- pow()
例:math.pow(2,3)è结果为8.0(2^3)
|-- sqrt()
例:math.sqrt(4)è结果为2.0
round函数:
用来四舍五入使用
整数部分是奇数时,会执行准确的四舍五入
整数部分是偶数时,会以5作为分界点
2.random模块:
随机数模块
注意:计算机中的所有随机数都是属于伪随机数!!!
['betavariate', 'choice', 'choices', 'expovariate', 'gammavariate',
'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate',
'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed',
'setstate', 'shuffle', 'triangular', 'uniform',
'vonmisesvariate', 'weibullvariate']
例:names=[''张三'',''李四'',''王五'',''赵六'',''钱七'']
|-- choice(容器)
例:random.choice(names)è结果为‘李四’
|-- randint(start, end)
|-- random()
想要获得[0,10)的数,则random.random()*10
|-- randrange # 与randint一样(start, stop[, step]),可以写步长
例:random.randrange(1,10,2)è结果为3(随机)
|-- uniform()
例:random.uniform(1,10)è结果为3.744(随机)
|-- shuffle()
3.os(operating system)模块:
该模块主要是用来操作操作系统(operating system)的文件系统(file system)
|-- chdir(path)
例:os.chdir(‘../’)è C:\\Users
|-- curdir
例:os.path.abspath(os.curdir)èC:\\Users\\yonghuming
|-- cpu_count()
例:os.cpu_count()è8
|--device_encoding
|-- getcwd()
例:os.getcwd()èC:\\Users\\yonghuming
|-- getpid()
例:os.getpidè11096
|-- getppid()
|-- kill(编号)
|--link
|-- listdir()
|-- makedirs(path)
|-- mkdir(文件夹名称)
|-- scandir()
例:for I in os. scandir()
Print(i)
|-- os.sep
|-- system()
\\:代表转义
4.os.path模块
操作文件系统的(file system)
是os模块功能的补充
|-- abspath(path)
例:path. abspath(p)è C:\\Users\\yonghuming\\函数递归.mp4
|-- basename(path)
例:path.basename(p)è 函数递归.mp4
|-- dirname(path)
例:path.dirname(p)è C:\\Users\\yonghuming
|-- exists(path)
实现磁盘遍历:
5.sys模块
system,主要负责的是系统(python解释器系统)相关的
|--sys.exit()
|--sys.getrecursionlimit()
|--sys.setrecursionlimit()
|--argv
|--sys.api_version