欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

三:python核心知识点

程序员文章站 2024-03-24 10:16:28
...

1、学习函数的知识  Done

2、神秘的字符串操作

3、python中神秘的六剑客          

4、面试python真题实践2

函数

'''
使用函数的好处
减少重复代码的编写
方便复用
方便代码的使用和维护
举例:统计一句话中某个字母的数量
I a good good girl.    现在想统计这句话中o字母的数量
'''
 

s='I a good good girl. '
num=0
for i in s:
    if i=='o':
        num+=1
print(num)

num=0
for i in s:
    if i=='g':
        num+=1
print(num)

def count_letter(s,letter):
    num=0
    for i in s:
        if i==letter:
            num+=1
    return num

s='I a good good girl. '
print("这句话中一共有%s个o字母" %count_letter(s,'o'))
print("这句话中一共有%s个g字母" %count_letter(s,'g'))

 

def func():   #没有任何参数
    pass        #pass相当于占位置,表示函数的内部什么都不做
                   #也没有任何返回值
func()          #这样的函数没有实际意义,什么都没有执行



def func():   #没有任何参数
    print("hello,world")       #打印一句话

func()          



def func(s):   #传入一个参数
    print(s)       #打印一句话

func("你好")      
func("我是一名中学生") 
func("我希望到外面的世界走一走")     


def add(a,b):  #传入两个参数
    print(a+b)
                      #如果函数没return 语句,自动会加一个return None
add(1,1)
add(2,3)
result=add(5,9)
print("result:",result)


def add(a,b):  #传入两个参数
    print(a+b)
    return a+b 

add(1,1)
add(2,3)
result=add(5,9)
print("result:",result)


def add(a,b):  
    if isinstance(a,(int,float)) and isinstance(b,(int,float)):     #容错考虑
        return a+b 
    else:
        return("%s和%s中至少一个不是数字类型" %(a,b))
result=add(5,'a')
print("result:",result)

def add(a,b):  
    try:
        return a+b    #当类型错误时,会跑出异常,except会拦截异常,执行except下面的语句
    except:
        print("%s和%s中至少一个不是数字类型" %(a,b))
        return None
result=add(5,'cc')
print("result:",result)


def add(*arg):         #可变参数, 元组
    result=0  
    print(arg,type(arg))
    for i in arg:
        result+=i
    return result

result=add(1,2,3,4)
print("result: " , result)

def add(**kw):         #可变参数, 字典
    result=0  
    print(kw,type(kw))
    for value in kw.values():
        result+=value
    return result

result=add(a=1,b=2,c=3,d=4)
print("result: " , result)


def add(*arg,**kw):         #可变参数, 混用
    result=0  
    print(kw,type(kw))
    for value in kw.values():
        result+=value
    for i in arg:
        result+=i
    return result

result=add(10,20,30,a=1,b=2,c=3,d=4)
print("result: " , result)


def add(x,y,*arg,**kw):         #可变参数, 混用
    result=0  
    print(kw,type(kw))
    for value in kw.values():
        result+=value
    for i in arg:
        result+=i
    result+=x
    result+=y
    return result

result=add(99,88,10,20,30,a=1,b=2,c=3,d=4)
print("result: " , result)

练习:

'''
求两数字最大的
'''
def get_bigger(a,b):
    if not (isinstance(a,(int,float)) and isinstance(b,(int,float))):
        return None
    elif a>b:
        return a
    elif a==b:
        return a
    else:
        return b

print(get_bigger(1,'2'))
print(get_bigger('s',2))
print(get_bigger('s','2'))
print(get_bigger(1,2))
print(get_bigger(1,1))
print(get_bigger(2,1))

'''
求三个数字最大的
'''
def get_bigger(a,b,c):
    max=a
    if not (isinstance(a,(int,float)) and isinstance(b,(int,float)) and isinstance(c,(int,float))):
        return None
    elif a>b:
        max=a
    elif a==b:
        max=a
    else:
        max=b
    if max>c:
        return max
    elif max==c:
        return c
    else:
        return c

print(get_bigger(1,'2','s'))
print(get_bigger(1,2,3))
print(get_bigger(2,1,4))
print(get_bigger(5,1,2))

python中神秘的六剑客 

map
filter
reduce
推导列表
lambda
切片 

map

'''
map    小写字母转换成大写字母
'''
def convert(word):
    new_word=''
    for i in word:
        new_word+=chr(ord(i)-32)
    return new_word

word='abcde'
print(convert(word))

def convert(letter):
    return chr(ord(letter)-32)

print("".join(list(map(convert,'zhi'))))   #map可以逐个把z\h\i代入函数convert

filter

'''
filter
'''
def get_upper_letter(letter):
    if letter>='A' and letter <='Z':
        return True
    return False

print(list(filter(get_upper_letter,'AaBbCc')))
#6个字母,每个字母会分别带入到一次get_upper_letter函数中,如果函数返回True,这个字母就会保存在list中,否则就过滤掉这个字母

 

相关标签: Python python