第一章:搭建编程环境
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都包含它。
来源:https://www.cnblogs.com/lcy0302/p/11151110.html