"""
字符串的常用方法(函数)API
str:字符串
"""
str_test = " I Love Python "
#1.swapCase:大转小 小转大
print(str_test.swapcase())
#2.去除两端空格
print(str_test.strip())
#3.判断以什么开头,判断以什么结尾
str_test = "www.baidu.com"
print(str_test.startswith("www"))
print(str_test.endswith("com"))
#4.partition将参数的左边和右边分割,分成三个元素的元组
str_res = str_test.partition("baidu")
print(str_res)
#5.maketrans 建立映射规则
str1 = "abcde"
str2 = "12345"
res = str.maketrans(str1,str2)
#{97: 49, 98: 50, 99: 51, 100: 52, 101: 53}
print(res)
#translate根据映射规则替换字符串内容
str3 = "This is a Python Programming Expression,abcd"
print(str3.translate(res))
#This is 1 Python Progr1mming Expr5ssion,1234
#课堂练习:计算多项式1+11+111+1111...+n个1的和,使用字符串完成
def sum(n):
result = 0
num = '1'
for i in range(n):
result += int(num)
num += '1' # 将字符串后面添加一个'1',相当于每次加上一个1、11、111...
return result
n = int(input("请输入n的值:"))
print("多项式的和为:",sum(n))
"""
函数的参数
1.位置参数
-普通参数
-传递时符合参数位置及个数
2.默认值参数(缺省参数)
-默认参数即声明时,为参数指定默认值,在调用时可以不传参
3.可变参数
-格式: *参数名:个数不确定
-会将可变参数打包成元组
4.关键字参数
-格式: **参数名:个数不确定,但传参数时,需要以变量名 = 值的形式传入
-会将关键字参数打包成字典
5.命名关键字参数
-格式: * 可变参数 中间 **关键字参数 --写在可变参数之后
重要问题:
参数的定义顺序?
位置参数 -> 默认参数 ->可变参数 ->命名关键字参数->关键字参数
可变参数和关键字参数的打包和解包问题?
"""
def sum(x,y):
return x / y
print(sum(10,20))#0.5
print(sum(20,10))#2.0
def f1(a,b = 0):
print("a:",a,"b :",b)
f1(1)
#def f2(a,b = 0,*c):
def f2(a,b = 0,*args):
print("a:",a,"b :",b,"args",args)#a: 10 b : 1 args (2, 3, 4, 5, 6)
f2(10,1,2,3,4,5,6)
def f3(a,b = 0,*args,**kwords):
print("a:",a,"b :",b,"args",args,"kwords:",kwords)
#a: 10 b : 1 args (2, 3, 4, 5, 6) kwords: {'name': 'zhangsan', 'age': 18, 'salary':10000.0}
f3(10,1,2,3,4,5,6, name = "zhangsan",age = 18,salary = 10000.0)
def f4(a,b = 0,*args,nickname,**kwords):
print("a:",a,"b :",b,"args",args,"nickname:",nickname,"kwords:",kwords)#
f4(10,1,2,3,4,5,6,nickname="JeffLee", name = "zhangsan",age = 18,salary = 10000.0)
#a: 10 b : 1 args (2, 3, 4, 5, 6) nickname: JeffLee kwords: {'name': 'zhangsan', 'age': 18, 'salary': 10000.0}
#补充内容:当参数需要命名关键字参数,但不需要可变参数,根据命名关键数参数的特性,需要用*占用
def f5(a,*,name):
print("a:",a,"name:",name)
f5(10,name = "zhangsan")
#a: 10 name: zhangsan
"""
函数的返回值
1.
"""
def sum(x,y):
z = x + y
return z
#直接打印函数名称时,打印的是函数对象
print(sum)#<function sum at 0x0000019BB3698FE0>
#函数对象引用传递!调用时可以直接使用传递后的对象
sum_change = sum
print(sum(10,20))#30
print(sum_change(20,30))#50
#1.函数返回值
#return 立即结束函数返回被调处
def test1():
return
#案例一:
age =18
def is_chengnian(age):
if age >= 18:
print("您已成年")
else:
print("可以进入")
is_chengnian(age)
#pass用法
def test2():
pass #让函数结构完成,不出现编译错误
print(...)
#2.返回为容器
def test3():
return [1,2,3,4]
print(test3())
#3.返回为对象
def test4():
return range(1,10)
print(test4())
#返回值本身
def test5():
return test5
print(test5())
test_change = test5()
print(test_change())#<function test5 at 0x000001B245F19440>
def test6():
return 1,2,3,4
a,b,c,d = test6()
print(a)
print(b)
print(c)
print(d)