python 知识回顾

两盒软妹~` 提交于 2020-03-20 22:12:04

第一章:搭建编程环境
1.在Windows系统中搭建Python编程环境。

  1.1 安装Python

    访问http://python.org/downloads/ ,点击下载到本地,后安装。

  1.2安装文本编辑器(IDE)

    访问https://www.jetbrains.com/zh/pycharm/specials/pycharm/pycharm.html? 下载pycharm,后安装。

 

第二章:变量和简单数据类型

1.变量

  命名和使用:变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头;

        变量名不能包含空格,但可使用下划线来分隔其中的单词;

        不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词;

        变量名应既简短又具有描述性;

        慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

2.字符串:用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。

  2.1使用方法修改字符串的大小写。

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

    lower()将字符串先转换为小写;

  2.2合并(拼接)字符串。

    加号(+ )来合并字符串。

  2.3使用制表符或换行符来添加空白。 (空白 泛指任何非打印字符,如空格、制表符和换行符)

    使用字符组合\n,在字符串中添加换行符。  

>>> print("Python")
Python
>>> print("\tPython")
Python

    使用字符组合\t,在字符串中添加制表符。

>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C JavaScript

    在同一个字符串中同时包含制表符和换行符。字符串"\n\t" 让Python换到下一行,并在下一行开头添加一个制表符。

>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
Python
C
JavaScript

  2.4删除空白

    使用方法rstrip(),确保字符串末尾没有空白。

    使用方法lstrip(),剔除字符串开头的空白。

    使用方法strip(),同时剔除字符串两端的空白

3.数字

  3.1整数
    可对整数执行加(+ )减(- )乘(* )除(/ )运算;两个乘号表示乘方运算;

  3.2浮点数
    Python将带小数点的数字都称为浮点数 。

  3.3使用函数str() 避免类型错误

4.注释。

  4.1单行注释用井号(# )标识。多行注释用三个单双引号("""  """)标识。

 

第 三 章:列表简介

 

1.访问列表元素

  列表是有序集合,知道元素的位置或索引就可找到该元素。

  索引从0而不是1开始。    通过将索引指定为-1 ,可让Python返回最后一个列表元素。

2.修改、添加和删除元素。

  2.1修改列表元素

❶ motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
❷ motorcycles[0] = 'ducati'
print(motorcycles)

  2.2在列表中添加元素。

    方法append() 将元素'ducati' 添加到了列表末尾,而不影响列表中的其他所有元素。

  2.3. 在列表中插入元素。

    使用方法insert() 可在列表的任何位置添加新元素。

  2.4从列表中删除元素。

    使用del 语句删除元素,使用del 可删除任何位置处的列表元素,条件是知道其索引。

    方法pop() 可删除列表末尾的元素,并让你能够接着使用它。

    使用方法remove()可删指定元素的值,也可接着使用它的值,只删除第一个指定的值。

3.组织列表

  3.1使用方法sort() 对列表进行永久性排序。使用函数sorted() 对列表进行临时排序。

  3.2倒着打印列表:使用方法reverse()来反转列表元素的排列顺序。

  3.3确定列表的长度。使用函数len() 可快速获悉列表的长度。

 

第 四 章:操作列表

 

1.遍历整个列表

  1.1使用for 循环遍历列表的所有元素.

2.创建数值列表

  使用函数range() 来打印一系列的数字.

for value in range(1,5):
print(value)

结果为:1 2 3 4

  使用range() 创建数字列表。

numbers = list(range(1,6))
print(numbers)

结果为:[1,2,3,4,5]

  使用函数range() 时,还可指定步长。例如,下面的代码打印1~10内的偶数:

even_numbers = list(range(2,11,2))
print(even_numbers)

结果为:[2, 4, 6, 8, 10]

  对数字列表执行简单的统计计算

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0 >>> max(digits)
9>>> sum(digits)
45

3.切片。

  如:[1:4]指从列表第2个元素开始到第5个元素结束。

  3.1遍历切片

    如果要遍历列表的部分元素,可在for 循环中使用切片。

  3.2复制列表

    方法是同时省略起始索引和终止索引([:] )

4.元组:不可变的列表。使用圆括号()

  4.1不能给元组的元素赋值

  4.2遍历元组中的所有值
    像列表一样,也可以使用for 循环来遍历元组中的所有值。

  4.3修改元组变量
    虽然不能修改元组的元素,但可以给存储元组的变量赋值。

    如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

5.集合 :

  类似于列表,但每个元素都必须是独一无二的。set(),是无序的,不可重复的数据集合。

  5.1增添:通过add()添加元素;通过update()添加元素

  5.2删除:方法remove():指定删除

      pop():随机删除.

      clear():清空集合

  5.3集合的其它操作。

    交集 :&

    并集:|

    差集:-

    反交集:^

 

第 五 章: IF语句

1.条件测试

  1.1.检查是否相等,使用两个等号(==)

  1.2.检查是否不相等,使用惊叹号和等号(!= ),其中的惊叹号表示不。

  1.3.条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于。

  1.4.使用and 检查多个条件;使用or 检查多个条件。

  1.5.判断特定的值是否已包含在列表中,可使用关键字in。

  1.6.检查特定值是否不包含在列表中,可使用关键字not in

2.布尔表达式

  布尔表达式的结果要么为True ,要么为False 。

3. if 语句

  如果条件测试的结果为True ,Python就会执行紧跟在if 语句后面的代码;否则
Python将忽略这些代码。

4.if-else 语句

  总是会执行两个操作中的一个。

  经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else 结构。

  使用多个elif 代码块。

  省略else 代码块

 

第 六 章 字典

1.使用字典

  字典 是一系列键—值对 。每个键 都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。

2.访问字典中的值

alien_0 = {'color': 'green'}
print(alien_0['color'])

结果为:green

3.添加键—值对

  要添加键—值对,可依次指定字典名、用方括号括起的键和相关联的值。

4.修改字典中的值。

  要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值

5.删除键—值对

  使用del 语句时,必须指定字典名和要删除的键。

6.遍历所有的键—值对

user = {
'username': 'efermi','first': 'enrico','last': 'fermi',
}
❶ for key, value in user_0.items():
❷ print("Key: " + key)
❸ print("Value: " + value)

  要编写用于遍历字典的for 循环,可声明两个变量,用于存储键—值对中的键和值.   for 语句的第二部分包含字典名和方法items()

7.遍历字典中的所有键 :方法keys()

languages = {
'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',
}
 for name in languages.keys():
print(name.title())

8.按顺序遍历字典中的所有键

  获取字典的元素时,获取顺序是不可预测的。要以特定的顺序返回元素,一种办法是在for 循环中对返回的键进行排序,可使用函数sorted() 来获得按特定顺序排列的键列表的副本。

languages = {
'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',
}
for name in sorted(languages.keys()):
print(name.title() + ", thank you for taking the poll.")

9.遍历字典中的所有值

  使用方法values() ,它返回一个值列表,而不包含任何键。

languages = {
'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',
}
print("The following languages have been mentioned:")
for language in languages.values():
print(language.title())

10.嵌套

   需要将一系列字典存储在列表中,或将列表作为值存储在字典中。即为嵌套

 

第 七 章 用户输入和while 循环

1.函数input() 的工作原理:

  函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便你使用。

  1.1使用int() 来获取数值输入

>>> age = input("How old are you? ")
How old are you? 21
>>> age
'21'

  1.2求模运算符

    求模运算符 (%)是一个很有用的工具,它将两个数相除并返回余数。

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

  2.1使用while 循环 

number = 1
while number <= 5:
print(number)
number += 1

  2.2使用标志

    可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志.

  2.3使用break 退出循环

    break 语句用于控制程序流程,可以立即退出while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何。

  2.4在循环中使用continue

    使用continue 语句,返回到循环开头,并根据条件测试结果决定是否继续执行循环.

  2.5避免无限循环

    每个while 循环都必须有停止运行的途径,这样才不会没完没了地执行下去。

  2.6使用用户输入来填充字典   

responses = {}
# 设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
# 提示输入被调查者的名字和回答
name = input("\nWhat is your name? ")
response = input("Which mountain would you like to climb someday? ")
# 将答卷存储在字典中
responses[name] = response
# 看看是否还有人要参与调查
 repeat = input("Would you like to let another person respond? (yes/ no) ")
if repeat == 'no':
polling_active = False
# 调查结束,显示结果
print("\n--- Poll Results ---")
for name, response in responses.items():
print(name + " would like to climb " + response + ".")

 

第 八 章 函数

1.定义函数

 def greet_user():
   """显示简单的问候语"""
   print("Hello!")
 greet_user()

  1.1实参和形参

    实参是调用函数时传递给函数的信息。

  1.2位置实参

    Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。

    位置实参的顺序很重要,使用位置实参来调用函数时,如果实参的顺序不正确,结果可能出乎意料。

  1.3关键字实参
    关键字实参 是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆。

  1.4默认值

    编写函数时,可给每个形参指定默认值

2.返回值

  2.1让实参变成可选的

    有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。

3.返回字典

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

4.结合使用函数和while 循环

def get_formatted_name(first_name, last_name):
    """返回整洁的姓名"""
    full_name = first_name + ' ' + last_name
    return full_name.title()
    # 这是一个无限循环!
    while True:
        print("\nPlease tell me your name:")
        f_name = input("First name: ")
        l_name = input("Last name: ")
        formatted_name = get_formatted_name(f_name, l_name)
        print("\nHello," + formatted_name + "!")

5.传递列表

def greet_users(names):
  """向列表中的每位用户都发出简单的问候"""
  for name in names:
  msg = "Hello, " + name.title() + "!"
  print(msg)
usernames = ['hannah', 'ty', 'margot']
greet_users(usernames)

6.结合使用位置实参和任意数量实参(*args)、关键字实参(**kwargs)。

def users(age,*args,**kwargs):
    """创建一个字典"""
    profile = {}
    profile['age'] = age

    for key, value in users.items():
    profile[key] = value
    return profile
users = build_profile(18,'zhangsan',location='princeton',field='physics')

7.导入特定的函数:

from module_name import function_name

8.使用as 给函数指定别名

from pizza import make_pizza as mp

9.使用as 给模块指定别名

import pizza as p

10.导入模块中的所有函数

from pizza import *

 

第 9 章 类

1.创建和使用类:类中的函数称为方法。

class Dog():  def __init__(self, name, age):    """初始化属性name和age"""    self.name = name    self.age = ag    self.high = 5  def sit(self):    """模拟小狗被命令时蹲下"""    print(self.name.title() + " is now sitting.")  def roll_over(self):    """模拟小狗被命令时打滚"""    print(self.name.title() + " rolled over!")my_dog = Dog('xiaohei', 6)print(my_dog.name)

  1.1 方法__init__():一个特殊的方法

    在方法的定义中,形参self 必不可少,还必须位于其他形参的前面。

  1.2my_dog:一个实例,可以调用Dog 类中定义的任何方法。

  1.3给属性指定默认值

    self.high = 5

2.继承

  编写类时,并非总是要从空白开始。如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承 另一个类时,它将自动获得另一个类的所有属性和方法;原有的
类称为父类 ,而新类称为子类 。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

class Car():
    snip
class ElectricCar(Car):
  """电动汽车的独特之处"""
  def __init__(self, make, model, year):
  """初始化父类的属性"""  super().__init__(make, model, year)   self.battery_size = 70     #给子类定义的属性  def describe_battery(self):   #给子类定义的方法  """打印一条描述电瓶容量的消息"""  print("This car has a " + str(self.battery_size) + "-kWh battery."

  2.1给子类定义属性和方法

     self.battery_size = 70  

     def describe_battery(self)

  2.2将实例用作属性   

class Car():
  --snip--
class Battery():
  """一次模拟电动汽车电瓶的简单尝试"""
   def __init__(self, battery_size=70):
    """初始化电瓶的属性"""
    self.battery_size = battery_size
   def describe_battery(self):
    """打印一条描述电瓶容量的消息"""
    print("This car has a " + str(self.battery_size) + "-kWh battery.")
class ElectricCar(Car):
  """电动汽车的独特之处"""
   def __init__(self, make, model, year):
    """
    初始化父类的属性,再初始化电动汽车特有的属性
    """
    super().__init__(make, model, year)
    self.battery = Battery()  #创建一个新的Battery 实例(由于没有指定尺寸,因此为默认值70 ),并将该实例存储在属性self.battery 中。
my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())

3.导入类

  3.1.Python允许将类存储在模块中,然后在主程序中导入所需的模块。

  3.2.导入单个类.

from car import Car

  3.3.从一个模块中导入多个类

from car import Car, ElectricCar

  3.4导入整个模块

import car

  3.5导入模块中的所有类

from module_name import *

4.Python标准库

  Python标准库 是一组模块,安装的Python都包含它。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!