一、变量
在编程中,变量是用来存储数据值的名称。在 Python 中,变量是动态类型的,这意味着你可以将任何类型的数据分配给一个变量,而不需要提前声明变量的类型。
1、全局变量
在函数外部定义的变量是全局变量,可以在程序的任何地方被访问。全局变量在整个程序执行过程中都是可见的。
示例:
x = 10 # 全局变量
def my_func():
print(x) # 可以访问全局变量 x
my_func() # 输出 10
print(x) # 输出 10
2、局部变量
在函数内部定义的变量是局部变量,只能在函数内部访问。局部变量的作用域仅限于定义它们的函数内部,函数执行结束时局部变量会被销毁。
示例:
def my_func():
y = 20 # 局部变量
print(y) # 可以访问局部变量 y
my_func() # 输出 20
# print(y) # 这里会报错,因为 y 是局部变量,超出了其作用域
3、全局变量和局部变量的关系
当在函数内部使用同名变量时,Python 会优先使用局部变量,如果函数内部没有定义同名变量,则会使用全局变量。
如果需要在函数内部修改全局变量,可以使用 global
关键字声明变量为全局变量。
示例:
z = 3 # 全局变量
def my_func():
global z
z = 4 # 修改全局变量 z
print(z)
my_func() # 输出 4
print(z) # 输出 4
二、函数
函数是一种可重复使用的代码块,用于执行特定任务或计算。通过定义函数,你可以将代码组织成更小的模块,提高代码的可读性、可维护性和重用性。
1、定义函数
在 Python 中,使用 def
关键字来定义函数
def 函数名(形参列表):
# 函数体,包含函数要执行的代码
return result # 可自定义返回值
示例:
def myAdd(x, y):
return x+y
2、调用函数
定义函数后,你可以通过函数名加括号的方式来调用函数,并传递参数(如果有的话):
result = 函数名(形参) # 调用函数并接收返回值
示例:
res = myAdd(213, 312)
print("res= ", res)
结果
3、函数参数
函数可以接受多个参数,参数可以是必需的(positional arguments)或关键字参数(keyword arguments)。
你还可以给参数设置默认值,这样在调用函数时可以不传递这些参数。
Python 还支持接收不定数量的参数,这样你可以在函数定义时指定一个参数接收所有额外的位置参数或关键字参数。
4、函数返回值
函数可以使用 return
语句返回结果,如果没有指定返回值,则函数会返回 None
。
在函数体中可以返回单个值、多个值(以元组、列表等形式),甚至可以返回其他函数。
5、Lambda 匿名函数
除了普通函数外,Python 还支持匿名函数(lambda 函数),其语法更为简洁,适合一次性使用的小函数。
"""
匿名函数:lambda表达式
语法规则:
lambda arg1, arg2: expression
注意:
1,arg1,arg2:表示原函数的形参列表
2,expression:表示原函数返回值的表达式
3, 整个lambda执行的结果 就是expression的结果
"""
def Add(x, y):
return x+y
print(Add(23, 42))
#lambda表达式的应用 (lambda x, y: x+y)(a, b)
print((lambda x, y: x+y)(12, 3))
print((lambda x : x**2)(3)) #求平方
pingfang = (lambda x : x**2)
print(pingfang(5))
三、累加
1)range()函数 左闭右开
#range(n) 产生0~(n-1)的数列
#range(start, stop) 产生[start, stop)之间的数列
#range(start, stop, step) 产生[start, stop)之间步长为step的数列
示例
求1到50的累加和:
res = 0
for i in range(1, 51):
res += i
print(res)
res = 0
n =50
while n>0:
res += n
n-= 1
print(res)
求100以内的奇数的和:
#100以内奇数的和
res = 0
for i in range(1, 101,2):
res += i
print("100内奇数和为:", res)
四、列表的排序
1、成员函数 sort()
list.sort(key=key, reverse=reverse)
key
(可选): 用于指定排序的关键函数,例如 key=len
按元素的长度排序。
reverse
(可选): 设置为 True
时按降序排序,默认为升序排序 True:降序 False:升序
示例
l1 = [11,23,42,32,5,20,12,]
#成员函数 sort, reverse:决定升序还是降序 True:降序 False:升序
l1.sort(reverse=False)
print(l1)
2、内置函数sorted()
sorted_list = sorted(iterable, key=key, reverse=reverse)
iterable
: 要排序的可迭代对象,如列表、元组。
key
(可选): 用于指定排序的关键函数,例如 key=len
按元素的长度排序。
reverse
(可选): 设置为 True
时按降序排序,默认为升序排序 True:降序 False:升序
示例
l1 = [11,23,42,32,5,20,12,]
#内置函数 sorted 默认升序排列
l1 = sorted(l1, reverse=True)
print(l1)
l2 = [("a", 5), ("d", 3), ("c", 4), ("e", 2), ("b", 1)]
l2 = sorted(l2, key = lambda x : x[1], reverse=True) # 按照元组第二个元素数值大小排序 True为降序
print(l2)
五、九九乘法表
for i in range(1, 10):
for j in range(1, 1+i):
print(j, '*', i, '=', i * j, end='\t')
print()