python 基础 2

'''
函数的定义和调用
定义的参数为 “形参”
调用时参数为“时参”
局部变量: 函数内部的变量
全局变量: 函数外边定义的变量
用函数global修改全局变量
return 返回值  同时结束函数  后面可以是元组,列表,字典。只要是能够储存多个数据的类型,就可以一次性返回多个数据
传递和定义参数的顺序及其个数必须一样
不定长参数,有时可能需要更多的参数。     *args, **kwargs


在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict,set等则是可以修改的对象。
'''
'''
递归函数: 如果一个函数在内部不调用其他函数,而是自己本身的话,这个函数就是递归函数。
自己调用自己,必须有终止条件。

匿名函数:
lambda 来创建匿名函数规则。 ●lambda只是一个表达式,函数体比def简单很多。
●lambda的主体是一个表达式,而不是一个代码块,所以不能写太多的逻辑进去。
●lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。 
●lambda定义的函数的返回值就是表达式的返回值,不需要return语句块 
●lambda表达式的主要应用场景就是赋值给变量、作为参数传入其它函数
lambda匿名函数的表达式规则是:lambda 参数列表: 表达式
'''

'''
内置函数
abs() 函数返回数字的绝对值。num = -1 print(abs(num))
sorted(list) 排序,返回排序后的list  print(sorted(['a', 'b', '', 'd'] ,reverse  = True)) 
sum(list) 求取list元素的和 sum([1,2,3]) >>> 6
round(a,b) 获取指定位数的小数。a代表浮点数,b代表要保留的位数 round(3.1415926,2) >>> 3.14
pow(a,b) 获取乘方数 pow(2,3) >>> 8 
isinstance 类型判断 num = 1 print(isinstance(num,int))
eval() 执行一个表达式,或字符串作为运算 eval('1+1')
exec() 输出python语句 exec('print("Python")')


高阶函数 
map(function,list) 会根据提供的函数对指定序列做映射
就是把序列中的元素都进行函数运算,返回一个map对象。
reduce(function,list) 会对参数序列中进行累计。
filter(function,list)  过滤掉序列中不符合条件的
'''

'''
文件操作:
打开: open(name,mode) 关闭:f.close()
读写: f.write(content)   w  模式:先清空再写入
读取: f.read(num)  读取长度的内容,默认全部。f.readlines() 按行读取   f.readline()  一次读取一行
关键字with在不再需要访问文件后将其关闭。这可让Python去确定:你只管打开文件,并在需要时使用它,
Python自会在合适的时候自动将其关闭。 也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug,
导致close()语句未执行,文件将不会关闭。
with open (name,mode) as f:  


访问模式 
r
以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w
打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建
新文件。
a
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是
说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件
不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容
将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+
打开一个文件用于读写。文件指针将会放在文件的开头。(先读再写)
w+
打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该
文件不存在,创建新文件用于读写。
rb+
以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+
以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,
创建新文件用于读写。
'''
'''
文件操作:
os.rename(old,new) 修改文件名
os.getcwd() 得到当前工作的目录。
os.listdir() 指定所有目录下所有的文件和目录名。以列表的形式全部列举出来,其中没
有区分目录和文件。
os.remove() 删除指定文件
os.rmdir() 删除指定目录
os.mkdir() 创建目录注意:这样只能建立一层,要想递归建立可用:os.makedirs()

os.path.isfile() 判断指定对象是否为文件。是返回True,否则False
os.path.isdir() 判断指定对象是否为目录。是True,否则False。
os.path.exists() 检验指定的对象是否存在。是True,否则False.
os.path.split() 返回路径的目录和文件名
os.system() 执行shell命令。os.system('cmd') #启动dos

os.chdir() 改变目录到指定目录
os.path.getsize() 获得文件的大小,如果为目录,返回0 
os.path.abspath() 获得绝对路径
'''

'''
面向对象编程:
类的名称:类型
属性:对象的属性   私有属性 __属性名  调用方法:实例._类名__属性名
方法:对象的方法

getattr(obj, name[, default]) : 访问对象的属性
hasattr(obj,name) : 检查是否存在一个属性
setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性
delattr(obj, name) : 删除属性的值
注意:name需要加单引号,obj为实例化对象名称


继承:即一个派生类(derived class)继承基类(base class)的字段和方法。
继承也允许把一个派生类的对象作为一个基类对象对待。如:一个 Dog 类型的
对象派生自 Animal 类。
多态:它是指对不同类型的变量进行相同的操作,它会根据对象(或类)类型
的不同而表现出不同的行为。
封装性:封装 就是将抽象得到的数据和行为(或功能)相结合,形成一
个有机的整体(即类封装的目的是增强安全性和简化编程,使用者不必了解具
体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。


继承  #调用父类的构函
people.__init__(self,n,a,w)
'''


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值