基础知识及函数介绍

Python基础知识及函数介绍

  1. title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写;

  2. 要将字符串改为全部大写或者全部小写可以用upper()lower()

  3. Python用加号(+)来合并字符串;

  4. 要在字符串中添加制表符,可使用字符组合\t,要在字符串中添加换行符,可使用字符组合\n;

  5. 要确保字符串末尾没有空白,可使用方法rstrip(),但这种删除只是暂时的,要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中,剔除字符串开头的空白,或同时删除字符串两端的空白时,可以分别使用lstrip()strip()

  6. Python用两个*号表示乘方运算;

  7. 可调用函数str(),它让Python将非字符串值表示为字符串;

  8. 在Python中,注释用井号(#)标识;

  9. 在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素;要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内;

  10. 通过将索引指定为-1,可让Python返回最后一个列表元素,同理可以用-2访问倒数第二个列表元素,以此类推;

  11. 要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值;

  12. 利用方法append()可将新元素添加到列表末尾;

  13. 使用方法insert()可在列表的任何位置添加新元素,需要指定新元素的索引和值;

  14. 如果知道要删除元素在列表中的位置,可以使用del语句删除;

  15. 方法pop()可删除列表末尾的元素,并能够接着使用它,实际上,可以使用pop()来删除列表中任何位置的元素,只需要在括号中指定要删除的元素的索引即可;

  16. 如果只知道要删除元素的值,可使用方法remove()

  17. 可使用方法sort()对列表进行永久性排序,如果要按字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True

  18. 可使用函数sorted()对列表进行临时排序,如果要按字母顺序相反的顺序排列列表元素,只需向sorted()函数传递参数reverse=True

  19. 要反转列表元素的排列顺序,可使用方法reverse()

  20. 可使用函数len()快速获悉列表的长度;

  21. Python根据缩进来判断代码行与前一个代码行的关系;

  22. 使用Python函数range()能够轻松地生成一系列的数字,使用range()时,如果输出不符合预期,请尝试将指定的值加1或减1,要创建数字列表,可使用函数list()range()的结果直接转换为列表,例如numbers = list(range(1,6)),使用函数range()时,还可指定步长,例如even_numbers = list(range(2,11,2))

  23. 有几个专门用于处理数字列表的python函数,可以用他们轻松地找出数字列表的最大值max()、最小值min()和总和sum()

  24. 列表解析将for循环和创建新元素的代码合并为一行,并自动附加新元素,注意,这里的for语句末尾没有冒号;

  25. 要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1;player[0:3]

  26. 要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引;players1 = players[:]

  27. 元组是不可变的列表,看起来犹如列表,但使用圆括号而不是方括号来标识,定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样,如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组;

  28. 在字处理文档中,大家常常使用制表符而不是空格来缩进,另外,很多程序员都建议每行不超过80字符,注释的行长都不超过72字符;

  29. 要检查是否两个条件都为True,可使用关键字and将两个条件测试合而为一,关键字or也能让你检查多个条件,但只要至少有一个条件满足,就能通过整个测试;

  30. 要判断特定的值是否已包含在列表中,可使用关键字in,还有些时候,确定特定的值未包含在列表中很重要,在这种情况下,可使用关键字not in

  31. Python不要求if-elif结构后面必须与else代码块;

  32. if语句中将列表名用在条件表达式中时,Python将在列表至少包含一个元素时返回True,并在列表为空时返回False

  33. 在Python中,字典用放在花括号{}中的一系列键-值对表示,键和值之间用冒号分割,而键-值对之间用逗号分隔;

  34. 字典是一种动态结构,可随时在其中添加键-值对,可一次指定字典名、用方括号括起的键和相关联的值;alien['x_position'] = 0

  35. 使用字典来存储用户提供的数据或在编写能自动生成大量的键-值对的代码时,通常都需要先定义一个空字典;

  36. 对于字典中不再需要的信息,可使用del语句将相应的键-值对彻底删除,使用del语句时,必须指定字典名和要删除的键;del alien['points']

  37. 要编写用于遍历字典的for循环,可声明两个变量,用于存储键-值对中的键和值,对于这两个变量,可使用任何名称;

  38. 用方法keys()遍历字典中的所有键,方法keys()并非只能用于遍历,实际上,它返回一个列表,其中包含字典中的所有键;

  39. 如果你感兴趣的主要是字典包含的值,可使用方法values(),它返回一个值列表,而不包含任何键;

  40. 为剔除重复项,可使用集合(set),通过对包含重复元素的列表调用函数set(),可让Python找出列表中独一无二的元素,并使用这些元素来创建一个集合;

  41. 列表和字典的嵌套层级不应太多,如果嵌套层级比前面的示例多得多,很可能有更简单的简单的解决问题的方案;

  42. 函数input()让程序暂停运行,等待用户输入一些文本,获取用户输入后,Python将其存储在一个变量中,以方便你使用,每当你使用函数input()时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息——任何指出用户该输入何种信息的提示都行;

  43. 使用函数input()时,Python将用户输入解读为字符串,函数int()将数字的字符串表示转换为数值表示;

  44. 处理数值信息时,求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数;

  45. for循环用于针对集合中的每个元素的一个代码块,而while循环不断地运行,直到指定条件不满足为止;

  46. 在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志(flag),充当了程序的交通信号灯。你可让程序在标志为True时继续运行,并在任何时间导致标志的值为False时让程序停止运行;

  47. 要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句;

  48. 要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环;

  49. 如果程序陷入无限循环,可按Ctrl+C,也可关闭显示程序输出的终端窗口;

  50. 使用关键字def定义函数,定义以冒号结尾;def great_user():

  51. """ """所包括的文本是被称为文档字符串的注释,描述了函数是做什么的。文档字符串用三引号括起,Python使用他们来生成有关程序中函数的文档;

  52. 向函数传递实参的方式很多,可使用位置实参,这要求实参的顺序与形参的顺序相同;也可使用关键字实参,其中每个实参都由变量名和值组成,还可使用列表和字典;

  53. 编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法;

  54. 使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。这让Python依然能够正确地解读位置实参;

  55. 函数可返回任何类型的值,包括列表和字典等较复杂的数据结构;

  56. 函数只有一个形参*toppings,但不管调用语句提供了多少实参,这个实参都将它们统统收入囊中,形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值都封装到这个元组中;def make_pizza(*toppings):

  57. 如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参(*toppings)放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中;

  58. 有时候,需要接收任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键-值对——调用语句提供了多少就接受多少。形参**user_info的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称-值对都封装到这个字典中;def build_profile(first,last,**user_info):

  59. import语句允许在当前运行的程序文件中使用模块中的代码,模块是扩展名为.py的文件,包含要导入到 程序中的代码。只需编写一条import语句并在其中指定模块名,就可在程序中使用该模块中的所有函数。如果你使用这种import语句导入了名为module_name.py的整个模块,就可使用在下面的语法来使用其中任何一个函数:module_name.function_name();

  60. 你还可以导入模块中的特定函数,这种导入方法的语法如下:from module_name import function_name(),通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数:from module_name import function_0,function_1,function_2,若使用这种语法,调用函数时就无需使用句点;

  61. 关键字as将函数重命名为你提供的别名:指定别名的通用语法如下:from module_name import function_name as fn;

  62. 通过给模块指定简短的别名,让你能够更轻松地调用模块中的函数,如:import pizza as p;

  63. 使用星号(*)运算符可让Python导入模块中的所有函数:from pizza import *,由于导入了每个函数,可通过名称来调用每个函数,而无需使用句点表示法;

  64. 根据约定,在Python中,首字母大写的名称指的是类;

  65. 要访问实例的属性,可使用句点表示法;my_dog.name

  66. 要调用方法,可指定实例的名称和要调用的方法,并用句点分隔它们;my_dog.sit()

  67. 可以用三种不同的方式修改属性的值:直接通过实例进行修改、通过方法进行设置;通过方法进行递增(增加特定的值);

  68. 一个类继承另一个类时,它将自动获得另一个类的所有属性和方法,原有的类成为父类,而新类成为子类,子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法;

  69. 创建子类时,父类必须包含在当前文件中,且位于子类前面,定义子类时,必须在括号内制定父类的名称;class ElectricCar(Car):

  70. super()是一个特殊的函数,帮助python将父类和子类关联起来;

  71. 对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名,这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法;

  72. 使用代码模拟实物时,你可能会发现自己给类添加的戏节越来越多:属性和方法清单以及文件都越来越长。在这种情况下,可能需要将类的一部分作为一个独立的类提取出来,可以将大型类拆分为多个协同工作的小类;

  73. 可以导入整个模块,再使用句点表示法访问需要的类;

  74. 要导入模块中的每个类,可使用下面的语法:from module_name import *,不过不推荐使用这种导入方式,需要从一个模块中导入很多类时,最好导入整个模块,并使用module_name.class语法来访问类;

  75. 要创建字典并记录其中的键-对的添加顺序,可使用模块collections中的OrderedDict类;from collections import OrderedDict favorite_languages = OrderedDict()

  76. 类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线;

  77. 对于每个类,都应紧跟再类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,并遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文档字符串,对其中的类可用于做什么进行描述;

  78. 可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法,而在模块中,可使用两个空行分隔类;

  79. 需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的import语句,再添加一个空行,然后编写导入你自己编写的模块的import语句。在包含多条import语句的程序中,这种做法让人更容易明白程序使用的各个模块都来自何方;

  80. 函数open()接收一个参数:要打开文件的名称;with open('pi_digit.txt') as file_object:

  81. 关键字with在不再需要访问文件后将其关闭;

  82. 使用方法read()读取文件的全部内容;file_object.read()

  83. 相对文件路径让Python到指定的位置去查找,而该位置是相对于当前运行的程序所在目录的;with open('text_files\filename.txt') as file_object

  84. 绝对路径通常比相对路径更长,因此将其存储在一个变量中,再将该变量传递给open()会有所帮助;

  85. 要以每次一行的方式检查文件,可对文件对象使用for循环;for line in file_object:

  86. 使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中,并在with代码块外使用该列表:你可以立即处理文件的各个部分,也可推迟到程序后面再处理;

  87. 方法readline()从文件中读取每一行;

  88. 读取文本文件时,Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为数值使用,就必须使用函数int()将其转换为整数,或使用函数float()将其转换为浮点数;

  89. 可使用方法replace()将字符串中的特定单词都替换为另一个单词;

  90. 打开文件时,可指定读取模式(‘r’)、写入模式(‘w’)、附加模式(’a‘)或让你能够读取和写入文件的模式(’r+‘)。如果你省略了模式实参,Python将以默认的只读模式打开文件;with open(filename,'w') as file_object:

  91. 如果你要写入的文件不存在,函数open()将自动创建它。然而,以写入(’w‘)模式打卡文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件;

  92. 使用文件对象的方法write()将一个字符串写入文件;

  93. Python只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式;

  94. 如果你要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件,你以附加模式打开文件时,Python不会在返回文件对象前清空文件,而你写入到文件的行都将添加到文件末尾。如果指定的文件不存在,Python将为你创建一个文件;

  95. 异常是使用try-except代码块处理的。try-except代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。使用了try-expect代码块时,即便出现异常,程序也将继续运行:显示你编写好的友好的错误信息,而不是令用户迷惑的traceback

  96. 处理ZeroDivisionError异常:这个实例还包含一个else代码块;依赖于try代码块成功执行的代码都应放到else代码块中;

try:
    print(5/0)
except  ZeroDivisionError:
    print("You can't divide by zero!")
else:
    print(answer)
  1. 使用方法spilt(),它跟据一个字符串创建一个单词列表;

  2. Python有一个pass语句,可在代码块中使用它来让Python什么都不要做;

  3. 模块json让你能够将简单的Python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据;

  4. 函数json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象;

  5. 通常使用文件扩展名.json来指出文件存储的数据为JSON格式;

  6. 代码能够正确的运行,但可做进一步的改进——将代码划分为一系列完成具体工作的函数。这样的过程被成为重构。重构让代码更清晰、更易于理解、更容易扩展;

  7. map()函数

  8. python使用input().split()接收多个用户输入,input() 接收多个用户输入需要与split()结合使用;

  9. rjust() 方法返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热河路的IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值