第一章:搭建编程环境
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
CJavaScript
在同一个字符串中同时包含制表符和换行符。字符串"\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()来打印一系列的数字.
forvalueinrange(1,5):
print(value)
结果为:1234
使用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.检查特定值是否不包含在列表中,可使用关键字notin。
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',
}
?forkey,valueinuser_0.items():
?print("Key:"+key)
?print("Value:"+value)
要编写用于遍历字典的for循环,可声明两个变量,用于存储键—值对中的键和值.for语句的第二部分包含字典名和方法items()
7.遍历字典中的所有键:方法keys()
languages={
'jen':'python','sarah':'c','edward':'ruby','phil':'python',
}
fornameinlanguages.keys():
print(name.title())
8.按顺序遍历字典中的所有键
获取字典的元素时,获取顺序是不可预测的。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序,可使用函数sorted()来获得按特定顺序排列的键列表的副本。
languages={
'jen':'python','sarah':'c','edward':'ruby','phil':'python',
}
fornameinsorted(languages.keys()):
print(name.title()+",thankyoufortakingthepoll.")
9.遍历字典中的所有值
使用方法values(),它返回一个值列表,而不包含任何键。
languages={
'jen':'python','sarah':'c','edward':'ruby','phil':'python',
}
print("Thefollowinglanguageshavebeenmentioned:")
forlanguageinlanguages.values():
print(language.title())
10.嵌套
需要将一系列字典存储在列表中,或将列表作为值存储在字典中。即为嵌套
第七章用户输入和while循环
1.函数input()的工作原理:
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便你使用。
1.1使用int()来获取数值输入
>>>age=input("Howoldareyou?")
Howoldareyou?21
>>>age
'21'
1.2求模运算符
求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数。
2.while循环简介
for循环用于针对集合中的每个元素都一个代码块,而while循环不断地运行,直到指定的条件不满足为止。
2.1使用while循环
number=1
whilenumber<=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
whilepolling_active:
#提示输入被调查者的名字和回答
name=input("\nWhatisyourname?")
response=input("Whichmountainwouldyouliketoclimbsomeday?")
#将答卷存储在字典中
responses[name]=response
#看看是否还有人要参与调查
repeat=input("Wouldyouliketoletanotherpersonrespond?(yes/no)")
ifrepeat=='no':
polling_active=False
#调查结束,显示结果
print("\n---PollResults---")
forname,responseinresponses.items():
print(name+"wouldliketoclimb"+response+".")
第八章函数
1.定义函数
defgreet_user():
"""显示简单的问候语"""
print("Hello!")
greet_user()
1.1实参和形参
实参是调用函数时传递给函数的信息。
1.2位置实参
Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。
位置实参的顺序很重要,使用位置实参来调用函数时,如果实参的顺序不正确,结果可能出乎意料。
1.3关键字实参
关键字实参是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆。
1.4默认值
编写函数时,可给每个形参指定默认值
2.返回值
2.1让实参变成可选的
有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。
3.返回字典
函数可返回任何类型的值,包括列表和字典等较复杂的数据结构
4.结合使用函数和while循环
defget_formatted_name(first_name,last_name):
"""返回整洁的姓名"""
full_name=first_name+''+last_name
returnfull_name.title()
#这是一个无限循环!
whileTrue:
print("\nPleasetellmeyourname:")
f_name=input("Firstname:")
l_name=input("Lastname:")
formatted_name=get_formatted_name(f_name,l_name)
print("\nHello,"+formatted_name+"!")
5.传递列表
defgreet_users(names):
"""向列表中的每位用户都发出简单的问候"""
fornameinnames:
msg="Hello,"+name.title()+"!"
print(msg)
usernames=['hannah','ty','margot']
greet_users(usernames)
6.结合使用位置实参和任意数量实参(*args)、关键字实参(**kwargs)。
defusers(age,*args,**kwargs):
"""创建一个字典"""
profile={}
profile['age']=age
forkey,valueinusers.items():
profile[key]=value
returnprofile
users=build_profile(18,'zhangsan',location='princeton',field='physics')
7.导入特定的函数:
frommodule_nameimportfunction_name
8.使用as给函数指定别名
frompizzaimportmake_pizzaasmp
9.使用as给模块指定别名
importpizzaasp
10.导入模块中的所有函数
frompizzaimport*
第9章类
1.创建和使用类:类中的函数称为方法。
classDog():
def__init__(self,name,age):
"""初始化属性name和age"""
self.name=name
self.age=ag
self.high=5
defsit(self):
"""模拟小狗被命令时蹲下"""
print(self.name.title()+"isnowsitting.")
defroll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title()+"rolledover!")
my_dog=Dog('xiaohei',6)
print(my_dog.name)
1.1方法__init__():一个特殊的方法
在方法的定义中,形参self必不可少,还必须位于其他形参的前面。
1.2my_dog:一个实例,可以调用Dog类中定义的任何方法。
1.3给属性指定默认值
self.high=5
2.继承
编写类时,并非总是要从空白开始。如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的
类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。
classCar():
snip
classElectricCar(Car):
"""电动汽车的独特之处"""
def__init__(self,make,model,year):
"""初始化父类的属性"""
super().__init__(make,model,year)
self.battery_size=70#给子类定义的属性
defdescribe_battery(self):#给子类定义的方法
"""打印一条描述电瓶容量的消息"""
print("Thiscarhasa"+str(self.battery_size)+"-kWhbattery."
2.1给子类定义属性和方法
self.battery_size=70
defdescribe_battery(self)
2.2将实例用作属性
classCar():
--snip--
classBattery():
"""一次模拟电动汽车电瓶的简单尝试"""
def__init__(self,battery_size=70):
"""初始化电瓶的属性"""
self.battery_size=battery_size
defdescribe_battery(self):
"""打印一条描述电瓶容量的消息"""
print("Thiscarhasa"+str(self.battery_size)+"-kWhbattery.")
classElectricCar(Car):
"""电动汽车的独特之处"""
def__init__(self,make,model,year):
"""
初始化父类的属性,再初始化电动汽车特有的属性
"""
super().__init__(make,model,year)
self.battery=Battery()#创建一个新的Battery实例(由于没有指定尺寸,因此为默认值70),并将该实例存储在属性self.battery中。
my_tesla=ElectricCar('tesla','models',2016)
print(my_tesla.get_descriptive_name())
3.导入类
3.1.Python允许将类存储在模块中,然后在主程序中导入所需的模块。
3.2.导入单个类.
fromcarimportCar
3.3.从一个模块中导入多个类
fromcarimportCar,ElectricCar
3.4导入整个模块
importcar
3.5导入模块中的所有类
frommodule_nameimport*
4.Python标准库
Python标准库是一组模块,安装的Python都包含它。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54734.shtml