第一部分.基础知识
第1章 起步
主要是搭建编程环境
Python主页
第2章 变量和简单数据类型
- 编辑器使用python解释器,有“语法突出”功能
变量
message = "Hello Python world!"
print(message)
//在程序中可随时修改变量的值,而Python将始终记录变量的最新值。
//如,可加上下面两行
message = "Hello Python Crash Course world!"
print(message)
- 变量的命名规则同C语言 //慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
注意 就目前而言,应使用小写的Python变量名。
字符串
- 字符串:字符串就是一系列字符。在Python中,用单引号或双引号括起的都是字符串。 //这种灵活性让你能够在字符串中包含引号和撇号
- 使用方法修改字符串的大小写
name = "ada lovelace"
print(name.title()) //title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
/*在print()语句中,方法
title()出现在这个变量的后面。方法是Python可对数据执行的操作。在name.title()中,name后
面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对括号,
这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title()不
需要额外的信息,因此它后面的括号是空的。*/
还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以
像下面这样做:
name = "Ada Lovelace"
print(name.upper()) //全部大写
print(name.lower()) //全部小写
3. Python使用加号(+)来合并/拼接字符串。
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
//也可以
print("Hello, " + full_name.title() + "!")
//或者
message = "Hello, " + full_name.title() + "!"
print(message)
4. 使用制表符(/t)或换行符(/n)来添加空白(在编程中,空白泛指任何非打印字符)
5. 删除空白
8.1 方法rstrip(); //暂时删除字符串末尾的空白
favorite_language = 'python '
favorite_language.rstrip()
favorite_language
8.2 还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。
方法分别为.lstrip()
和.strip()
6. 使用字符串时避免语法错误
因为Python将第一个单引号和撇号之间的内容视为一个字符串,所以要使撇号位于两个双引号之间message = "One of Python's strengths is its diverse community." print(message)
数字
- Python使用两个乘号表示乘方运算
>>> 3 ** 2
9
Python还支持运算次序2 + 3*4
- 浮点数*:Python将带小数点的数字都称为浮点数。
//需要注意的是,结果包含的小数位数可能是不确定的,如0.2+0.1
- 使用函数 str()避免类型错误
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)
- Python2 中的整数相除和 Python中得到的不同
注释
- 在Python中,注释用井号(#)标识。井号后面的内容都会被Python解释器忽略
# 向大家问好
print("Hello Python people!")
Python之禅
import this
执行上面语句会得到的Python之禅
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
第3章 列表简介2
3.1 列表是什么
列表由一系列按特定顺序排列的元素组成。
在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
//如果你让Python将列表打印出来,Python将打印列表的内部表示,包括方括号:
// ['trek', 'cannondale', 'redline', 'specialized']
//访问列表元素:索引从0开始;将索引指定为-1可返回最后一个列表元素(-2返回倒数第二个,以此类推;只有为空表时会报错)
print(bicycles[0])
motorcycles[0] = 'ducati' //修改摩托车列表中的第一个元素为“ducati”
添加和删除元素
1.添加元素
motorcycles.append('ducati') //1.在列表末尾添加元素
//在列表中插入元素
//使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles.insert(0, 'ducati')
2.删除元素
del motorcycles[0] //1. 使用del语句删除元素,知道索引可删除任意位置的列表元素
//使用del语句将值从列表中删除后,你就无法再访问它了
//法pop()可删除**列表末尾**的元素,并让你能够接着使用它。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
//3. 弹出列表中任何位置处的元素
//可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可
first_owned = motorcycles.pop(0)
总结:如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。
4. 使用方法remove() 根据值删除元素
motorcycles.remove('ducati') /*注意 方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。*/
3.3 组织列表
3.3.1 使用方法sort()对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort() //按字母顺序排列 print(cars) //按与字母顺序相反的顺序排列列表元素 //只需向sort()方法传递参数 reverse=True cars.sort(reverse=True) //同样,对列表元素排列顺序的修改是永久性的
3.3.2 使用函数sorted()对列表进行临时排序
print(sorted(cars))
注意
1.调用函数sorted()后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。
2.在并非所有的值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。
3.3.3 使用方法reverse() 倒着打印列表
注意reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序
cars.reverse() //方法reverse()永久性地修改列表元素的排列顺序
3.3.4 使用函数len()可快速确定列表的长度(元素的个数)
len(cars) //从1开始计数
索引错误
Traceback (most recent call last):
File "motorcycles.py", line 3, in <module>
print(motorcycles[3])
IndexError: list index out of range