Python教程网
--左手Python,右手AI!

Python小知识(二)

本文授权转自微信公众号:简说Python

最近在看《零压力学Python》,巩固一下基础知识,意外收获到很多常用却不一定被注意的小知识,分享给大家,学到东西了点赞支持哦~

👉第一篇:点击这里查看第一篇python小技能

一、推导式

列表推导式是Python基础,好用,而又非常重要的功能,也是最受欢迎的Python特性之一。本质上可以把列表推导式理解成一种集合了变换和筛选功能的函数,通过这个函数把一个列表转换成另一个列表的过程

(1) 普通推导式

(2)二维推导式

Python中还有字典推导式、元组推导式、集合推导式等,与列表推导式使用方式大致相同。

列表推导式的使用非常广泛,从实际使用经验来看,列表推导式使用的频率是非常高的,也是相当好用的。不过对于多层for循环,复杂筛选条件的,使用列表推导式不一定好,因为这样虽然节省了代码量,但同时让人读起来和理解起来更加困难,这个时候建议直接用多个普通for循环方式实现就可以了。

二、enumerate 和 format 函数

(1)enumerate 函数

基本介绍:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate(sequence, start=0)

sequence -- 一个序列、迭代器或其他支持迭代对象。
start -- 下标起始位置,默认为0。
  • 基本使用

    从上面可以看出,枚举后的,迭代出的单个对象为元组(tuple)。

  • 索引与值分开

(2)format函数

基本介绍:一种格式化字符串的函数 ,它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

  • 基本操作
  • format的骚操作
  • 语法解析

三、文件操作

(1)open函数

python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

open(name, mode, buffering)
nam为必填参数,其他选填

(2)读写文件

  • a.原文件内容:

  • b.文件目录:I:\123.txt

  • c.读文件

    注意:这里也可以直接open生成IO流对象,不用with,但这个时候使用完,一定要记得close掉IO流,避免资源浪费。
  • d.写文件

注意:在写文件时,必须标注写格式”a+”,”r+”,”wb+”等,不然无法写入,如果不修改mode,默认为”r”,只读,强制写入会报错io.UnsupportedOperation: not writable。

(3)基本读写格式表

四、局部变量与全局变量

(1)局部变量与全局变量

局部变量只对该变量所在函数有效,不会影响或修改函数外面的同名变量,所以可以看作,局部变量优先于全局变量被使用。
示例:

可以明显看出,此时函数域与全局域中g_test不相同,虽然我们在函数sum里修改了g_test的值,但对全局变量g_test并没有影响。

(2)global关键字

global关键字,被global标记的变量表示为全局变量,另外global不会创建指定的变量,因此我们还是需要在某个地方创建该变量,可在全局域中给变量赋值定义,也可以在函数域中赋值定义。
示例:

可以明显看出,此时函数域与全局域中g_test相同了,也就是我们能在函数里操作全局变量了。

灵活应用这些基本操作,让你的工作学习事半功倍。

原文出自公众号:简说Python!

赞(10)
未经允许不得转载:Python教程网 » Python小知识(二)
分享到: 更多 (0)

评论 38

  1. #1

    Python小知识 | 这些技能你不会?(二)
    zkxfriiev http://www.g593485t2t1w654g80fclzvz4dbis16vs.org/
    [url=http://www.g593485t2t1w654g80fclzvz4dbis16vs.org/]uzkxfriiev[/url]
    azkxfriiev

    匿名2个月前 (09-27)回复
  2. #2

    Python小知识 | 这些技能你不会?(二)
    aphctbnsxfw
    phctbnsxfw http://www.g14ier9e0639zy7n5w267s6zk9ev8d3fs.org/
    [url=http://www.g14ier9e0639zy7n5w267s6zk9ev8d3fs.org/]uphctbnsxfw[/url]

    匿名2个月前 (09-28)回复
  3. #3

    Python小知识 | 这些技能你不会?(二)
    abtmbjlkblo
    btmbjlkblo http://www.g34f3h41wi65w8sd99l8164xyiik4as8s.org/
    [url=http://www.g34f3h41wi65w8sd99l8164xyiik4as8s.org/]ubtmbjlkblo[/url]

    匿名2个月前 (09-28)回复
  4. #4

    Grain Metal Detector

    匿名2个月前 (10-10)回复
  5. #5

    Chemical Skid

    匿名1个月前 (10-14)回复
  6. #6

    China Conservatory of Music

    匿名1个月前 (10-16)回复
  7. #7
  8. #8
  9. #9
  10. #10

    100w Co2 Laser Engraving/cutter

    匿名1个月前 (10-19)回复
  11. #11
  12. #12

    Mini Electric Grinder Factory

    匿名1个月前 (10-23)回复
  13. #13

    File Tray Price

    匿名1个月前 (10-23)回复
  14. #14

    10G SFP+ to SFP+ DAC

    匿名1个月前 (10-23)回复
  15. #15
  16. #16

    Outbreaks have occurred among workers that handle turkeys and ducks in poultry
    processing plants. http://saleviabuy.com how to use viagra

    匿名4周前 (10-31)回复
  17. #17

    Dropshipping Watches

    匿名4周前 (10-31)回复
  18. #18

    Dry Air Blower

    匿名4周前 (10-31)回复
  19. #19

    Fiber Bulk

    匿名3周前 (11-03)回复
  20. #20

    Hardware Cable

    匿名3周前 (11-07)回复
  21. #21

    Vertical Suction Pump

    匿名3周前 (11-09)回复
  22. #22

    China Nylon PA6 Rod

    匿名2周前 (11-11)回复
  23. #23
  24. #24

    5kg Welding Rods

    匿名2周前 (11-15)回复
  25. #25

    buy viagra safely uk https://purevigra.com prix pilule viagra

    匿名2周前 (11-15)回复
  26. #26

    viagra without perscription https://wowviaprice.com/ buy viagra with paypal

    匿名2周前 (11-16)回复
  27. #27

    debut du viagra buybuyviamen.com how can i get some viagra

    匿名1周前 (11-17)回复
  28. #28

    Hotel Bath Gel Price

    匿名1周前 (11-17)回复
  29. #29

    how to buy viagra from canada paradiseviagira.com viagra sales australia

    匿名1周前 (11-19)回复
  30. #30

    what age do men start using viagra is viagra prescription only in australia what is the viagra font

    匿名1周前 (11-19)回复
  31. #31

    what happens if i take half a viagra pill presentaciones de viagra en mexico can you take viagra while drinking

    匿名1周前 (11-19)回复
  32. #32

    Where to order viagra https://mygoviagar.com online sildenafil india

    匿名7天前回复
  33. #33

    Viagra without rx https://lightvigra.com can you buy female viagra
    in australia

    匿名6天前回复
  34. #34
  35. #35

    50 mg viagra cost viagra online pharmacy canada buy viagra online prescription

    匿名3天前回复
  36. #36

    viagra england bestellen viagra provoca queda de cabelo do men on viagra ejaculate

    匿名3天前回复
  37. #37

    viagra 150mg discount viagra online where to buy viagra in ireland

    匿名2天前回复
  38. #38

    Distributor

    匿名14小时前回复