• python自学入门(打卡五)2022-10-29


    函数调用

    执行带参函数如果传入的参数的变量,是可变类型(list/dict/set),则内部对这个参数所有的操作结果都会影响外部的参数值。
    如果传入的参数变量是不可变类型(string/int/float),则不影响外部的参数值

    #传入的参数变量是不可变类型

    # n=1
    # def func(a):
    #     a=a+1
    #     return a
    # print(func(n))  #2
    # print(n)        #1 外部的n不会变
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    #传入的参数变量是可变类型

    # n=[]
    # def fun(a):
    #     a.append(1)
    #     return a
    # print(fun(n)) #[1]
    # print(n)      #[1] 外部的n也产生了变化
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    #可变参数C,入参值3 4 5 都给了C

    # def add(a,b,*c):
    #     print(type(c))
    #     print(c)  # (3, 4, 5)
    #
    # add(1,2,3,4,5)
    
    #把上面函数中的值求和
    # def add(a,b,*C):
    #     s1=a+b
    #     s2=0
    #     for i in C:
    #         s2=s2+i
    #     sum=s1+s2
    #     print("和为:%s" %sum)
    # add(1,2,3,4,5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    可变参数**C

    # def add(a,b,**C):
    #     print(type(C)) #
    #     print(C)
    # add(3,4,C=5,D=1,E=1) #{'C': 5, 'D': 1, 'E': 1}
    
    # 求和
    # def add(a,b,**c):
    #     s1=a+b
    #     s2=0
    #     for i in c.values():
    #         s2=s2+i
    #     print(s1+s2)
    # add(1,2,c=3,d=4,e=5) #15
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    #可变参数,两个*(dict类型)要放在一个*(tuple类型)后面。

    # def add(a,b,*c,**d):
    #     result=a+b
    #     s2=s3=0
    #     for i in c:
    #         s2=s2+i
    #     for i in d.values():
    #         s3=s3+i
    #     return(result+s2+s3)
    # print(add(1,2,3,4,c=5,d=6,e=7)) #28
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    字符串

    # s="hello"
    # print(isinstance(s,bytes)) #false
    #
    # s1=s.encode()
    # print(isinstance(s1,bytes)) #true
    #
    # s2=s1.decode()
    # print(isinstance(s2,bytes)) #false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    单双引号的应用,转义字符

    # a="he's a boy"
    # print(a)
    #
    # b='say "hi!"'
    # print(b)
    #
    # c="say \"hi!\""
    # print(c)
    #
    # d="D:\\\\work\\\\logs"
    # print(d) #D:\\work\\logs
    #
    # e="i am a girl \n he is a boy"
    # print(e) #\n换行 \t是八个空格
    #
    # for i in e:
    #      print(i)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    计算有几个a

    # s="aaabbbc"
    # count=0
    # for i in s:
    #     if i=="a":
    #         count+=1
    # print(count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    去掉a

    # s="aaabbbccc"
    # print(s.strip("a"))
    
    • 1
    • 2

    去掉空格,字符串拼接思想

    # s="a b c d"
    # result=""
    # for i in s:
    #     if i != " ":
    #         result=result+i
    # print(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    判断一句话中没有a的单词有几个

    #方法一
    # s = "i like apple so much ,how about Anna"
    # li =s.split()
    # # print(li) #['i', 'like', 'apple', 'so', 'much', ',how', 'about', 'Anna']
    # count=0
    # for i in range(len(li)):
    #     for n in li[i]:
    #          if n=="a":
    #           count+=1
    # print(count)
    
    # #方法二
    # s = "i like apple so much ,how about Anna"
    # li =s.split()
    # count=0
    # for i in li:
    #     if "a"  in i:
    #          count+=1
    # print(count)
    
    # s=["aaa","bbb","ccccc","abc"]
    # count=0
    # for i in s:
    #     if "a" in i:
    #         count+=1
    # print(count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    把s中偶数位置的字母后加个*

    # s="i am a boy!"
    # result=""
    # for i in range(len(s)):
    #     if i%2==0:
    #         if (s[i]>="a" and s[i]<="z") or (s[i]>="A" and s[i]<="Z"):
    #             result=result+s[i]+'*'
    # print(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    模板字符串

    #模板字符串 %d只能是数字 %s通用占位符
    age=10
    sex="girl"
    s="i am a %s years old %s" %(age,sex)
    print(s) #i am a 10 years old girl
    
    • 1
    • 2
    • 3
    • 4
    • 5

    切片练习

    s="abcdefg"
    s1=s[0]+s[-1]
    print(s1)
    s2=s[:2]+s[-2:]
    print(s2)
    s3=s[0::2]
    print(s3)
    s4=s[-1::-1]
    print(s4)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    书生·浦语大模型开源体系(六)作业
    React源码分析(二)渲染机制
    Google IO 2023推出Android Studio官方AI工具Studio Bot
    带你实现react源码的核心功能
    6-10java8中关于接口的新特性
    力扣第47天--- 第647题、第516题
    Spring的执行流程与Bean的生命周期
    C语言快速排序
    LeetCode每日一题(2201. Count Artifacts That Can Be Extracted)
    kubernetes负载均衡部署
  • 原文地址:https://blog.csdn.net/weixin_42231208/article/details/127588015