python 类 对象

bulid-in内建函数:  id()变量内存地址、type() 类型  len()长度  max(list)  round()四舍五入 转型 int()
匿名函数:lambda
不定长参数:def my_method(name,sex,age=5,*args):#*args 不定长参数参数 有默认值和不定长的时候,传参默认值不填,会出错,参数会错位
args 传的参数是以元组的形式
print('名字:'+name)
print('性别:' + sex)
print('年龄:' + str(age))
for i in args:
print('其他信息有:%s'% i)#format
my_method("zhangsan","nan",7,"北京",'1-2')
my_method("zhangsan1","nan","北京",'1-2')
#
def my_method(name,sex,age=5,**kargs):#带有别名的不定长参数
print('名字:'+name)
print('性别:' + sex)
print('年龄:' + str(age))
for k,v in kargs.items():
print('其他信息有:'+k+" "+v)#format
my_method("zhangsan","nan",7,city="北京",classe='1-2')
my_method("zhangsan1","nan",city="北京",cl='1-2')
def(a,*args,**kwargs):不限制传多少参数,带就用字典取值,不带就用元组取值


python:类名 ZhangsanLikeStudy 方法zhangsan_Like_study,变量 小驼峰或者下划线

方法中必填项:
def my_method(a,b):
print(a+b)
my_method(1,2)

def my_method(a,b):
return a+b #写return 有返回值 不写返回None
c = my_method(1,2)
print(c)
方法中非必填项:def my_method(name,age=6) age是非必填项 也叫有初始值  有默认值的往后放,传参的系统按照顺序赋值

def  my_method(a,b=[]):
b.append(a)
print(b)
my_method(1)
my_method(3)#默认值是一个集合的时候,默认一直用这一个集合
所以一般默认值写成None def my_method(a,b=None)
练习题:61
def is_more_than_five(a):
#判断参数类型 是一个类或者某个类的子类
if isinstance(a,str) or isinstance(a,list) or isinstance(a,tuple):
if len(a)>5:
return True
else:
return False
else:
print("您提供的数据不能统计长度")
print(is_more_than_five([1,3,4,5,54,4]))
练习62.63
def my_function1(source):
shuzi = 0
zimu = 0
kongge = 0
qita = 0
for i in source:
if i.isdigit():
shuzi+=1
elif i.isalnum():
zimu+=1
elif i.isspace():
kongge+=1
else:
qita+=1
r={}
r['数字'] = shuzi
r['字母'] = zimu
r['空格'] = kongge
r['其他'] = qita
return r
print(my_function1('skdfjsk0909808 djdkfs 8890 dhfskd'))

63
def creater_url(hostname='127.0.0.1',path=None,**data):
url = 'http://%s/' % hostname
if path:
url+=path
if data:
l = []
for k,v in data.items():
s = '{k}={v}'.format(k=k,v=v)
l.append(s )
url = url + "?" + '&'.join(l)
return url
url = creater_url(path ="hello/world",username='admin',password=123)
print(url)

#高阶函数 函数的参数又是函数
def A(a,b,x):#x 运算
return x(a,b)


def add(a,b):
return a+b
def sub(a,b):
return a-b
print(A(2,3,add))
print(A(5,3,sub))


#sorted([1,53,3,5,412],key=函数名字) #根据用户传的方法排序

a= ['java','c','python','javascript']
print(sorted(a,key=len)) #按照长度排序
print(sorted(a))
#git更新=编译打包=tomcat=接口自动化代码 自动部署

def A(a,b,f):
return f(a,b)
print(A(2,4,lambda a,b:a-b))
#类内部方法调用方法或者属性时,加self可以直接调用 或者对象直接访问


class Person()
  __sex = '男' #私有属性 实例化对象不可以直接访问私有属性和私有方法 ,这种的只能在类内部使用 只能用self访问
类属性调用:类名.属性名




posted @ 2020-06-10 13:03  钱小多多多  阅读(184)  评论(0)    收藏  举报