基础知识(4)
统计字符串的长度
有两个方法:
1.用内置的函数len()
2.不使用内置函数len()
- 不使用的方法
str1 = "nihao"
str2 = "mthgh"
str3 = "python"
# 定义一个计数的变量
count = 0
for i in str1:
count += 1
print(f"字符串{str1}的长度是:{count}")
count = 0
for i in str2:
count += 1
print(f"字符串{str2}的长度是:{count}")
count = 0
for i in str3:
count += 1
print(f"字符串{str3}的长度是:{count}")
#字符串nihao的长度是:5
#字符串mthgh的长度是:5
#字符串python的长度是:6
- 优化代码 使用函数 已组织好的 可重复使用的 针对特定功能的
str1 = "nihao"
str2 = "mthgh"
str3 = "python"
def my_len(data):
count = 0
for i in data:
count += 1
print(f"字符串{data}的长度是{count}")
my_len(str1)
my_len(str2)
my_len(str3)
#字符串nihao的长度是5
#字符串mthgh的长度是5
#字符串python的长度是6
- 使用函数的方法
str1 = "nihao"
str2 = "mthgh"
str3 = "python"
length1 = len(str1)
length2 = len(str2)
length3 = len(str3)
print(length1)
print(length2)
print(length3)
#5
#5
#6
函数的定义语法
-
定义一个函数,输出函数的相关信息
-
调用函数,让定义的函数开始工作
示例:
def happy():
print("欢迎来到这里\n祝您在python世界玩的愉快")
happy()
#欢迎来到这里
#祝您在python世界玩的愉快
函数使用参数
def add(x,y):
result = x + y
print(f"{x} + {y}的计算结果是:{result}")
add(5,10)
#5 + 10的计算结果是:15
定义函数返回值的语法格式
例如:定义一个函数,完成两个函数相加的功能
def add(x,y):
result = x + y;
return result
r = add(5,10)
print(r)
#5 + 10的计算结果是:15
#15
特殊字面量:None
- 无return语句的函数返回值
def sy_hi():
print("你好呀")
res = sy_hi() # 调用函数,输出 "你好呀",但返回值是 None
print(f"无返回值函数,返回的内容类型是{type(res)}")
#你好呀
#无返回值函数,返回的内容类型是<class 'NoneType'>
#ps: res 是 None,类型是 NoneType
- 主动返回None函数
def sy_hi2():
print("你好呀")
return None
res = sy_hi2()
print(f"无返回值函数,返回的内容类型是{type(res)}")
print(f"无返回值函数,返回的内容是{res}")
#你好呀
#无返回值函数,返回的内容类型是<class 'NoneType'>
#无返回值函数,返回的内容是None
- None用于if判断
def check_age(age):
if age > 18:
return "SUCCESS"
else:
return None
result = check_age(16)
if not result:
# 进入表示result是None值 也就是False
print("未成年 不能进入")
#未成年 不能进入
局部变量
def test_a():
a = 100
print(a)
test_a()
# 出了函数体 局部变量就无法使用了
# print(a)
全局变量
num = 100
def test_a():
print(f"test_a:{num}")
def test_b():
print(f"test_b:{num}")
test_a()
test_b()
print(num)
global 关键字 在函数内声明变量位全局变量
num = 200
def func_a():
print(f"func_a:{num}")
def func_b():
global num
num = 500
print(f"funx_b:{num}")
func_a()
func_b()
print(num)
#func_a:200
#funx_b:500
#500