首页 编程 软件学院 查看内容

正式开始学Python了

2017-6-4 12:41 |来自: 互联网 2900 0

摘要: 在前面很多文章都是对于Python的一些简单的介绍,还有一些关于要学哪些该怎么学都是一些简单的解析,想在朋友们开始学之前有更多的了解,其实大多还是对于新手的解惑。在这里还是说一下为什么Python适合作为第一个学 ...

在前面很多文章都是对于Python的一些简单的介绍,还有一些关于要学哪些该怎么学都是一些简单的解析,想在朋友们开始学之前有更多的了解,其实大多还是对于新手的解惑。

在这里还是说一下为什么Python适合作为第一个学习的编程语言,Python语言设计的初衷就是容易上手,作为一门基础语言,融会贯通后, 有助于学习其他语言,例如PHP, Perl, Ruby等,可以快速架起抽象的程序世界和显示世界的桥梁, 可以去Amazon购买一个廉价的Raspberry Pi,自己DIY很多人工智能,机器人相关的小Project,诸多大公司(例如Google, IBM, Disney)的员工使用Python快速编写很多小程序来辅助和优化工作流程,减轻很多不必要的重复劳动,Django是用Python编写的一套开源Web框架, 我们所熟知的诸多网站背后的Foundation都是Django和Python。

其实今天想开始稍微详细的说一些知识点,在此之前先测试一下大家基础是不是学的可以了,下面有几个基础面试问题,你是怎么回答的?

1. What will be the output of the code below?

list = ['a', 'b', 'c', 'd', 'e']

print list[10:]

2. As Everything in Python is an Object, Explain the characteristics of Python’s Objects.

3. What is a Python Module?

4. What is a Class? How do you create it in Python?


【现在觉得是不是要学的还多着呢

那么今天正式开始详细的说说Python中的一些知识点

语法

以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。

冒号:结尾时,缩进的语句视为代码块。

Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。Python程序是大小写敏感的,如果写错了大小写,程序会报错。

整数

Python可以处理任意大小的整数,当然包括负整数

浮点数

浮点数也就是小数

字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False

布尔值可以用and、or和not运算。

and运算是与运算,只有所有都为True,and运算结果才是True:

or运算是或运算,只要其中有一个为True,or运算结果就是True

not运算是非运算,它是一个单目运算符,把True变成False,False变成True

空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

变量

变量名必须是大小写英文、数字和_的组合,且不能用数字开头

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量

a = 123# a是整数

print(a)

a = 'ABC'# a变为字符串

print(a)

list 列表,用[]

Python内置的一种数据类型是列表:list。list是一种可变的有序的集合,可以随时添加和删除其中的元素。

比如,列出班里所有同学的名字,就可以用一个list表示:

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

用len()函数可以获得list元素的个数

用索引来访问list中每一个位置的元素,记得索引是从0开始

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates)- 1。

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

>>> classmates[-1]
'Tracy'

追加元素到末尾:

>>> classmates.append('Adam')

>>> classmates

['Michael', 'Bob', 'Tracy', 'Adam']

把元素插入到指定的位置,比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

删除list末尾的元素,用pop()方法:

>>> classmates.pop()

'Adam'

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy']

删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)

'Jack'

>>> classmates

['Michael', 'Bob', 'Tracy']

把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> classmates[1] = 'Sarah'

>>> classmates

['Michael', 'Sarah', 'Tracy']

list里面的元素的数据类型也可以不同,比如:

>>> L = ['Apple', 123, True]

list元素也可以是另一个list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

>>> len(s)

4

tuple,元组,用()

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

>>> classmates = ('Michael', 'Bob', 'Tracy')

dict 字典,{}键值对,无序

使用键-值(key-value)存储,具有极快的查找速度。

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

通过key放入,如果已经存在就修改:

>>> d['Adam'] = 67

>>> d['Adam']

67

如果key不存在,dict就会报错:

>>> d['Thomas']

Traceback (most recent call last):

File "", line 1, in

KeyError: 'Thomas'

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas'in d

False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')

>>> d.get('Thomas', -1)

-1

注意:返回None的时候Python的交互式命令行不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>>> d.pop('Bob')

75

>>> d

{'Michael': 95, 'Tracy': 85}

set,滤重

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果

通过remove(key)方法可以删除元素

set和dict的唯一区别仅在于没有存储对应的value

条件判断

if <条件判断1>:
 <执行1>
elif <条件判断2>:
 <执行2>
elif <条件判断3>:
 <执行3>
else:
 <执行4>

注意不要少写了冒号:。

循环

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来

names = ['Michael', 'Bob', 'Tracy']
for name in names:
 print(name)

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。

sum = 0
n = 99
while n > 0:
 sum = sum + n
 n = n - 2
print(sum)

循环

要计算1+2+3,我们可以直接写表达式:

>>> 1 + 2 + 3
6

要计算1+2+3+...+10,勉强也能写出来。

但是,要计算1+2+3+...+10000,直接写表达式就不可能了。

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
 print(name)

执行这段代码,会依次打印names的每一个元素:

Michael
Bob
Tracy

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
 sum = sum + x
print(sum)

如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

>>> list(range(5))
[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整数序列,计算如下:

sum = 0
for x in range(101):
 sum = sum + x
print(sum)

请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

sum = 0
n = 99
while n > 0:
 sum = sum + n
 n = n - 2
print(sum)

在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

break

在循环中,break语句可以提前退出循环。

continue

在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环

本文出处: http://www.toutiao.com/a6395072833840775426/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部