函数基础
一、字符串的常用方法
num = 3
result = str(num).zfill(4)
print(result)
result1 = f'{num:0>4}'
print(result1)
str1 = 'dsajkadhadsajkdak'
result2 = str1.split('a')
print(result2)
str1 = 'adjkhsadsajka'
table = str1.maketrans('adk', '12$')
result = str1.translate(table)
print(result)
result = '+'.join(['abc', '123', '小明'])
print(result)
result = ''.join(['abc', '123', '小明'])
print(result)
result = '*'.join('小明')
print(result)
nums = [10, 20, 30]
result = '+'.join([str(x) for x in nums])
print(result)
str2 = '{"name": "小明"}'
result = eval(str2)
print(result, type(result))
result = zip('axd', '123')
print(list(result))
keys = ['name', 'age', 'sex']
values = ['小明', 18, '男']
result = dict(zip(keys, values))
print(result)
二、创建函数
"""
def 函数名(形参列表):
函数说明文档
函数体
形参的作用是将函数外部的数据传递到函数里面。(传递数据的通道)
"""
def sum2(num1, num2):
"""
(功能说明区)求两个数的和
:param num1: (参数说明区)数字1
:param num2: 数字2
:return:(返回值说明区)None
"""
print(num1 + num2)
sum2(8, 9)
def factorial(n):
"""
求n的阶乘
:param n:
:return:
"""
factorial1 = 1
for x in range(1, n+1):
factorial1 *= x
print(factorial1)
factorial(5)
def count1(str1):
count0 = 0
for x in str1:
if x == ' ':
count0 += 1
print(count0)
count1('da ad ad sa d sa ds d ')
def string_count(str1, str2):
l1 = len(str1)
l2 = len(str2)
index = 0
count = 0
while True:
if str1[index: index + l2] == str1:
index += l2
count += 1
else:
index += 1
if index >= l1:
break
print(count)
"""
函数名(实参列表)
函数 ————必须是定义好的函数
实参 ————实际要进行操作的,传递到函数内部的实际参数
"""
三、函数的参数
"""
位置参数:以'数据1,数据2,数据3。。。。'的形式存在,传参数的时候一一对应
关键字参数(python特有):形参名=数据1,形参名2=数据2
混用:位置参数必须在关键字参数前面
"""
"""
定义参数的时候,可以通过'形参名=值'的方式给参数赋默认值
有默认值的参数,在调用可以不用赋值
注意:定义函数的时候可以给任意参数赋默认值,没有赋默认值的参数,必须放前面
"""
def func2(a, b, c=20):
print(f'a:{a}, b:{b}, c:{c}')
func2(10, 20)
def func5(names: list, obj: str, count=0):
names.append(10)
"""
第一种:在参数前加*,这个带*的参数会变成元组
注意:a.在调用的时候只能使用位置参数传参
第二种:在参数前面加**
会变成一个字典,代用的时候使用关键字参数传参,每个参数会有对应的键值对
"""
def sum2(*nums):
s = 0
for x in nums:
s += x
print(s)
sum2()
sum2(100)
sum2(1, 2, 5, 8, 5)
def sum4(*score, name):
print(name, score)
sum4(18, 98, 36, name='小花')
def func6(**nums):
print(nums)
func6()
func6(x=10)
def func7(*args, **kwargs):
print(args, kwargs)
func7()
func7(12, 23)
func7(a=89, b=33)
func7(12, 23, a=45, b=66)