python 知识回顾
第一章:搭建编程环境
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
''
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都包含它。
python 知识回顾的更多相关文章
- Python知识回顾 —— 面向对象
博客转载自 http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/linhaifeng/articles/62040 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 全栈开发,Day32(知识回顾,网络编程基础)
一.知识回顾 正则模块 正则表达式 元字符 : . 匹配除了回车以外的所有字符 \w 数字字母下划线 \d 数字 \n \s \t 回车 空格 和 tab ^ 必须出现在一个正则表达式的最开始,匹配开 ...
- python---基础知识回顾(二)(闭包函数和装饰器)
一.闭包函数: 闭包函数: 1.在一个外函数中定义了一个内函数 2.内函数里运用了外函数的临时变量,而不是全局变量 3.并且外函数的返回值是内函数的引用.(函数名,内存块地址,函数名指针..) 正确形 ...
- python---基础知识回顾(六)网络编程
python---基础知识回顾(十)进程和线程(进程) python---基础知识回顾(十)进程和线程(多线程) python---基础知识回顾(十)进程和线程(自定义线程池) 一:Socket (一 ...
- scrapy实战1,基础知识回顾和虚拟环境准备
视频地址 https://coding.imooc.com/learn/list/92.html 一. 基础知识回顾 1. 正则表达式 1)贪婪匹配,非贪婪匹配 .*? 非贪婪 . ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
随机推荐
- java mail 封装工具类使用
直接上代码 配置QQ邮箱的IMAP 进入qq电子邮件点击 设置->账户里开启 SMTP 服务(开启IMAP/SMTP服务) 注意:在启用QQ邮箱的14天之后才能开启此服务 创建Sendmail ...
- OL8.0静默安装Oracle 19C
首先在edelivery中下载Oracle Linux 8.0 然后就默认安装系统 环境准备工具目前不支持OL8,所以需要手动安装,首先设置内核参数,在/etc/sysctl.conf追加 [root ...
- c# MVC5(二) MVC与IOC结合
今天主要来讲解使用Unity来自动注入.Unity前面我们已经详细的介绍过了,如有需要请自行前往去看,今天我们的重点是说MVC与IOC的结合. IOC:控制反转,控制反转的工具是DI(依赖注入:构造函 ...
- 前后端分离-Restful最佳实践
前后端分离-Restful最佳实践 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- django项目中的ajax分页和条件查询。
1,路由 #主页面路由 re_path('article/article_list/', article.article_list,name='article/article_list/'), #分页 ...
- eclipse IDE for java developers下载与安装
1.进入eclipse官网下载页面 https://www.eclipse.org/downloads/ 2.点击Download Packages 3.windows 用户 选择 64 bits 4 ...
- 移动端适配(rem & viewport)--移动端开发整理笔记(四)
移动端适配 通过rem适配 em: 根据元素自身的字体大小来计算自己的尺寸 rem: (root em) 根据根节点(html)的字体大小来计算自己的尺寸 我们知道,在不同的手机设备,分辨率大小是 ...
- 【Linux】查看端口和进程
netstat -tunlp ps -ef|grep process_name
- csv与openpyxl函数
csv 与openpyxl函数 csv函数 常用的存储数据的方式有两种--存储成csv格式文件.存储成Excel文件(不是复制黏贴的那种) 前面,我有讲到json是特殊的字符串.其实,csv也是一种字 ...
- django -- ORM实现作者增删改查
前戏 前面我们已经实现了出版社的增删改查,书的增删改查,书和出版社的对应关系.现在来写一下作者的增删改查和书的对应关系,那书和作者有什么关系呢?一个作者可以写多本书,一本书可以有多个作者,所以书和作者 ...