执行带参函数如果传入的参数的变量,是可变类型(list/dict/set),则内部对这个参数所有的操作结果都会影响外部的参数值。
如果传入的参数变量是不可变类型(string/int/float),则不影响外部的参数值
#传入的参数变量是不可变类型
# n=1
# def func(a):
# a=a+1
# return a
# print(func(n)) #2
# print(n) #1 外部的n不会变
#传入的参数变量是可变类型
# n=[]
# def fun(a):
# a.append(1)
# return a
# print(fun(n)) #[1]
# print(n) #[1] 外部的n也产生了变化
#可变参数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)
可变参数**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
#可变参数,两个*(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
# s="hello"
# print(isinstance(s,bytes)) #false
#
# s1=s.encode()
# print(isinstance(s1,bytes)) #true
#
# s2=s1.decode()
# print(isinstance(s2,bytes)) #false
单双引号的应用,转义字符
# 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)
计算有几个a
# s="aaabbbc"
# count=0
# for i in s:
# if i=="a":
# count+=1
# print(count)
去掉a
# s="aaabbbccc"
# print(s.strip("a"))
去掉空格,字符串拼接思想
# s="a b c d"
# result=""
# for i in s:
# if i != " ":
# result=result+i
# print(result)
判断一句话中没有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)
把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)
模板字符串
#模板字符串 %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
切片练习
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)