Python必知必会
本文是《python编程从入门到实践》的学习备忘录,确切说我只是记录了我自己在使用python时有可能会出错的地方,也许于你们不会有太多的帮助。但是,Eric Matthes的讲解非常耐心,也许得益于作者是一名高中老师,如果你有幸读到该书,希望你能有所收获。这是我读过的最好的一本python入门书籍,它对初学者非常友好。
1)变量和简单的数据类型
字符串可以使用双引号和单引号;字符串表示形式
title()以首字母大写的方式显示每个单词;首字母大写
rstrip():剔除右侧空格;lstrip():剔除左侧空格;strip():剔除两侧的空格;空格过滤
str():让python的非字符串值表示成字符串值;int()让python的非数值表示成数值;类型转换
2)列表
列表即list,使用方括号([])来表示,并用逗号来分隔元素;列表的表示
append():末尾增加 ;del list[0]:删除某个元素,使用的是del语句,不是函数;pop():从列表末尾删除一个元素,例如pop(0)即删除索引是0的值;remove():根据值删除;列表的增、删、改
sort():永久修改列表元素的排列顺序;sorted():临时改变排列顺序,原始列表不更改;组织列表(排序)
for element in lists: 在使用for循环时,注意加冒号,这里是获取lists中的值,并将其存储在变量element中;for循环使用
range()生成一系列数字,for value in range(1,5):生成1-4;list(range(1,5)):使用list函数将数字转成列表,注意range(1,5)是前闭后开区间即[1,5);range()函数使用
players[0:3]:这里是前闭后开的区间即索引是0-2;player[:4]:前面为空,指索引从0开始;player[2:]:后面为空,指索引至末尾,即索引从2至末尾;player[-3:]:负号指从末尾往前数三个成员;
复制列表:players2 = players[:],这时深拷贝,如果浅拷贝,只是引用同一个对象;
元祖,就是不能修改的列表,即list的值不能修改,使用()来表示元祖(tump)。
3)字典
检测特定的值在列表中,使用关键字in ;检查特定值不在列表中 not in , if play in player:(检测play是否在players中)
字典表示方式:alien = {'color':'green', 'point',5},字典是放在花括号{}中的键值对;
删除使用del alien['color'],注意不是函数;字典的增、删、改
for key,value in alien.items(): 声明两个变量,用于存储键值对,items()返回一个键值对,分别存储在key,value中;for key in alien.keys():keys()返回字典中所有的值,遍历字典中所有的键: for value in alien.values():遍历字典中所有的值;字典的键是唯一的,但是值可以使相同的,如果要字典的值独一无二,使用set(alien.values())过滤重复元素:字典遍历
字典支持嵌套,字典中可以使字典、列表,元祖等
4)用户输入和函数
message = input(“tell me something”) :程序等待用户输入,输入的值存储在message变量中;用户输入
函数形式:def function():
函数参数传递:1、位置实参;2、关键字实参;3、默认值
传递列表:function(lists),如果要禁止修改列表,可以传递列表的副本:function(list[:])
传递任意数量的实参;
import pizza :导入pizza模块,模块即某个python文件;from pizza import make_pizza :从pizza模块中导入make_pizza函数;from pizza import make_pizza as mp 导入模块中的函数重命名;
import pizza as p:导入模块重命名
5)类
class Dog():
def __init__(self,name,age):
self.name = name
self.age = age
def sit(self):
print(self.name.title())
类创建的时候会首先调用init()函数,self是指向实例本身的引用,定义任何方法都需要有传入self变量
继承时子类的方法__init__()会先初始化父类的init()函数,一般继承的语法如下表示:
class ElectricCar(Car):
def __init__(self,父类的初始值):
super().__init__(父类的初始值)
''''super()函数会调用父类的init()函数'''
from car import Car 从car模块中导入Car这个类;from car import Car ,ElectricCar :从car模块中导入Car和ElectricCar这两个类;import car:导入car这个模块;从模块中导入类