• python_04


    37、列表推导式

    1. # 作用:快速生成列表
    2. # 列表变量名 = [x for x in range(开始值,结束值,步长) if 条件]
    3. # 注意:左闭右开
    4. list1 = [i for i in range(0,100)]
    5. print(list1)
    6. # list1 = [i for i in range(0,100)]
    7. # print(list1)
    8. list1 = [i for i in range(5,20,2)]
    9. print(list1)
    10. list1 = [i for i in range(20,5,-2)]
    11. print(list1)
    12. list1 = [i for i in range(6,-10,-2)]
    13. print(list1)
    14. # 还可以添加if条件,满足条件才生成列表
    15. list1 = [i for i in range(0,100) if i % 2 == 0] # 生成0 到 100 之间的 偶数,但不包括 100
    16. print(list1)
    17. list2 = [i for i in range(1,10,) if i % 2 != 0]
    18. print(list2)
    19. # 练习:[0,10,20,30,40,50,60,70,80,90,100]
    20. # 方法一
    21. list3 = [i for i in range(0,101,10)]
    22. print(list3)
    23. # 方法二:
    24. list3 = [i for i in range(0,101) if i % 10 == 0]
    25. print(list3)
    '
    运行

    38、元组

    1. # 1.元组和列表一样,都可用于存储数据
    2. # 2.通过元组可以存放数据,不能被修改
    3. # 元组类型单词 tuple
    4. tuple1 = ("刘备","张飞","关羽","赵云")
    5. print(tuple1)
    6. print(type(tuple1))
    7. # 元组数据如果只有一个,务必在后面添加逗号,否则被认为是字符串类型
    8. tuple1 = ("刘备",)
    9. print(tuple1)
    10. print(type(tuple1))
    11. tuple1 = ("赵云","刘备","张飞","关羽","赵云","赵云")
    12. print(tuple1[2])
    13. # 计算个数某个元素的个数 count() 括号里只允许有一个参数,不能设置第二个参数
    14. print(tuple1.count("赵云"))
    15. # 获取索引值 index() 可以有第二个参数,代表从这个参数起开始查找
    16. #print(tuple1.index("张飞"))
    17. print(tuple1.index("赵云",1))
    18. # 长度
    19. print("元组长度")
    20. print(len(tuple1))
    21. print("---")
    22. # 元组不允许修改
    23. # 无法使用sort进行排序,所以提供了最大、最小值语法
    24. tuple2 = (1,9,3,7,66,33)
    25. print(max(tuple2))
    26. print(min(tuple2))
    27. print("---")
    28. # 元组数据也可以进行遍历
    29. for i in tuple2:
    30. print(i)
    '
    运行

    39、字典

    1. # 字典不仅可以保存不同类型的数据,可以把不同类型数据在保存时加以
    2. # 1.基本结构: 字典名 = {}
    3. # 2.大括号内结构为: 键名:键值 (俗称键值对儿) 键名一般为英文
    4. # 键值:实值
    5. # 3.多个键值对之间使用逗号隔开
    6. # 键名一般不用中文
    7. ren = {"name":"张三","age":18,"height":180,"gender":"man"}
    8. print(ren)
    9. print(type(ren)) # 字典类型的单词:dict
    10. # .print回车,可以快速把想输出的内容放在print的小括号中
    11. print(ren["age"]) # 查询值 ["键名"] 可以获取键名对应的键值
    12. ren["salary"] = 20000 # 新增了一个键值对数据 如果没有这个键,相当于新增了一个键值对
    13. print(ren)
    14. ren["salary"] = 30000 # 如果没有这个键,相当于新增了一个键值对,如果有这个键,相当于修改
    15. print(ren)
    16. ren.pop("height") # pop("键名") 删除键和对应的值 必须设置参数 参数必须为键名
    17. print(ren)
    18. # del ren["name"] # 删除功能,不推荐使用
    19. # print(ren)
    20. # ren.clear() # 清空字典
    21. # print(ren)
    22. print("---------")
    23. ren = {"name":"张三","age":18,"height":180,"gender":"man"}
    24. print(ren.keys()) # 获取所有键名
    25. print(ren.values()) # 获取所有键值
    26. print(ren.items()) # 获取所有的键名和键值 把所有的键名和键值放在 元组 里面
    27. print("---------")
    28. # 字典的循环遍历
    29. for key in ren.keys(): # 遍历键名
    30. print(key)
    31. print("==========")
    32. for val in ren.values(): # 遍历键值
    33. print(val)
    34. print("---------")
    35. # 练习:找到值为9 的键名
    36. dict1 = {"a":23,"b":2,"c":9,"d":13}
    37. for i in dict1: # 直接遍历字典变量,就相当于.keys()
    38. # print(i)
    39. if dict1[i] == 9:
    40. print(i)
    '
    运行

    40、拆包

    1. # 快速把列表或元组中的数据保存到变量中
    2. # 拆列表
    3. list1 = ["刘备","关羽","张飞"]
    4. a,b,c = list1
    5. print(a)
    6. print(b)
    7. print(c)
    8. # 拆元组
    9. # 拆包时,等号左右一定要相等才可以
    10. tuple1 = ("刘备","关羽","张飞")
    11. a,b,c = tuple1
    12. print(a)
    13. print(b)
    14. print(c)
    15. # 拆字典
    16. dict1 = {"name":"张三","age":18,"height":180}
    17. print(dict1.items())
    18. for key,val in dict1.items(): # items()是元组数据,相当于进行元组拆包
    19. print(f"key是{key}",end="")
    20. print(" ",end="")
    21. print(f"val是{val}")
    '
    运行

    41、函数

    1. # 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的重用
    2. def hello():
    3. # 函数体 具体函数的实现内容
    4. # pass 占位,不让pycharm报错
    5. print("hello 1")
    6. print("hello 2")
    7. print("hello 3")
    8. # 想要函数体中的代码执行,就需要调用函数
    9. hello()
    10. # --------------------------------------------------------
    11. # 加法计算
    12. # def sum():
    13. # a = 1
    14. # b = 2
    15. # print(a+b)
    16. # sum()
    17. def sum():
    18. a = 1
    19. b = 2
    20. print(a+b)
    21. sum()
    22. # 打印20个星号
    23. # def start():
    24. # print("*" * 20)
    25. # start()
    26. def start():
    27. print("*" * 20)
    28. start()
    29. # # 函数传参
    30. # def PName(userName):
    31. # print("hello"+userName)
    32. # PName("小明")
    33. def PName(username):
    34. print("hello" + username)
    35. PName("小李")
    36. # # 函数传参
    37. # def sum(a,b): # a和b就是形参(形式上的参数,不实际参与运算)
    38. # print(a + b)
    39. # sum(2,2) # 调用时候的小括号中写的叫实参(实际参与运算的)
    40. # sum(20,10)
    41. def sum(a,b):
    42. print(a + b)
    43. sum(2,3)
    44. # # 练习:
    45. # def sayHi(name):
    46. # print(f"{name} 你好")
    47. # sayHi("刘备")
    48. # sayHi("张飞")
    49. def sayHi(name):
    50. print(f"{name} ---你好")
    51. sayHi("张三")
    52. # 练习2:自己传参打印20个*
    53. # def xing(num):
    54. # print("*" * num)
    55. # xing(8)
    56. def xing(num):
    57. print("*" * num)
    58. xing(8)
    '
    运行

    42、函数返回值

    1. # def sum(a,b):
    2. # return a + b
    3. # print(sum(2,5))
    4. def sum(a,b):
    5. return a + b
    6. print(sum(2,5))
    7. # 练习1:
    8. # 定义一个函数,接受2个参数,实现乘法操作,返回结果
    9. # def mian(height,width):
    10. # return height * width
    11. # res = mian(5,8)
    12. # print(res)
    13. def mian(height,width):
    14. return height * width
    15. res = mian(5,9)
    16. print(res)
    17. # 练习2:定义一个函数,接收3个参数,实现相加,返回结果
    18. def buy(a,b,c):
    19. return a + b + c
    20. #print("lalalala") # return 之后的代码,肯定不会执行
    21. lis = buy(10,20,30)
    22. print(lis)
    '
    运行

    43、函数的嵌套

    1. def fun1():
    2. print("这是fn1")
    3. def fun2():
    4. print("这是fn2")
    5. fun1()
    6. fun2()
    '
    运行

    44、全局和局部变量

    1. def fn1():
    2. a = 2 # 函数体中定义的变量是 局部变量 只能在函数体内使用,外面无法使用
    3. print(a)
    4. fn1()
    5. # 局部变量在自己函数体内可以使用,函数体外不能使用
    6. # 全局变量:所有人都可以用,但是如果自己有,就优先使用自己的,如果自己没有,再使用全局的。全局变量一旦被修改,后续获取的全局变量值就是被修改之后的
    7. chair = "公共的座椅" # 没有写在任何函数体里的变量,就算全局变量
    8. def my_home():
    9. chair = "我自己家的沙发"
    10. chair = "我自己沙发坏了"
    11. print(chair)
    12. my_home() # 调用函数的时候打印chair,会就近原则打印自己家的沙发文字
    13. def wang_home():
    14. print(chair)
    15. chair="有人把公共的座椅弄坏了"
    16. wang_home() # 调用的时候,wang家没有chair,只能使用全局的chair
    '
    运行

    45、局部转全局

    1. num1 = 10
    2. def fn1():
    3. global num1 # 后面再出现num1,就代表全局变量的num1(局部变量 转 全局变量)
    4. num1 = 2 # 让全局变量num1的值变成2
    5. fn1()
    6. print(num1)
    7. # 练习
    8. name = "张三"
    9. def fn1():
    10. global name # global 把局部变量 装换为 全局变量
    11. name = "李四" # 此时改变的是全局变量的值,如果去掉 上一行的global 则是局部变量
    12. fn1()
    13. print(name)
    '
    运行

    46、形参和全局变量

    1. def fn1(a):
    2. # 形参属于局部变量
    3. a += 1
    4. print(a)
    5. a = 10
    6. fn1(a)
    7. print(a) # 全局的10
    8. def fn1(a): # 参数传递列表也是可以的
    9. a.insert(4,666)
    10. a = [1,2,3,4]
    11. fn1(a)
    12. print(a)
    '
    运行

    47、函数的缺省值

    1. def fn1(a,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值(默认值)
    2. print(a)
    3. print(b)
    4. fn1(1)
    5. fn1(1,10)
    6. list1 = [6,42,19,66]
    7. # list1.sort(reverse=False)
    8. list1.sort(reverse=True)
    9. print(list1)
    10. def fn1(a,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值
    11. print(a)
    12. print(b)
    13. # fn1(1)
    14. fn1(1,10)
    15. def fn1(a=1,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值
    16. print(a)
    17. print(b)
    18. fn1(66,77) # 串了就用传的值
    19. fn1() # 没传就用缺省值
    20. fn1(66) # 两个缺省值,传一个实参,代表第一个缺省值失效
    21. def fn1(a=1,b): # 不能把有缺省值的形参写在没有缺省值的形参前面
    22. print(a,b)
    23. def fn1(a,b=2,c=3):
    24. print(a,b,c)
    25. # fn1(1) # 1 2 3
    26. # fn1(10,20) # 10 20 3
    27. fn1(10,c=66) # 10 2 66 如果想传递实参的时候,指定参数名,那么就是给这个参数去设置的值
    28. def fn1(a,b=2,c=3):
    29. print(a,b,c)
    30. fn1(1)
    31. fn1(10,c=99)

    48、了解多值传参

    1. def fn1(num1,*args,**kwargs):
    2. print(num1)
    3. print(args)
    4. print(kwargs)
    5. fn1(2,3,4,5,6,7,name="张三",age=18,height=180)
    6. def fn2(num1,*args,**kwargs):
    7. print(num1)
    8. print(args)
    9. print(kwargs)
    10. fn2(8,2,2,2,2,2,2,2,name="李四",age=19,height=200)
    '
    运行

    49、拉姆拉表达式

    1. sum = lambda a,b: a + b # 匿名函数:适用于临时一次使用,写法简单
    2. # :后面就是要return的内容
    3. print(sum(1,2))
    4. # fun1(a,b):
    5. # return a + b
    6. sum = lambda a,b: a + b
    7. print(sum(6,2))
    8. sum = lambda a,b: a + b
    9. print(sum(7,10))
    '
    运行

  • 相关阅读:
    WebWall-05.SQL-Inject(SQL注入漏洞)
    Nginx主配置文件和监控模块VTS
    【一刷《剑指Offer》】面试题 9:斐波那契数列(扩展:青蛙跳台阶、矩阵覆盖)
    SkyWalking 本地启动以及闪退问题
    线性代数2:梯队矩阵形式
    架构道术-企业选择Dubbo作为分布式服务框架的10个理由
    从零开始:开发知识付费小程序的入门指南
    Qt加载SVG矢量图片,放大缩小图片质量不发生变化。
    jenkins发布java项目和执行shell脚本nohup的总结
    通过循环查找完数
  • 原文地址:https://blog.csdn.net/LSG_Down/article/details/139455038