Python(1):入门

简介: 安装:     在linux中一般都自带有python2.7的版本,如果想升级python到最新的版本可以参考其他博客(http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html)。

安装:  

  在linux中一般都自带有python2.7的版本,如果想升级python到最新的版本可以参考其他博客(http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html)。

这里需要注意的是如果没有升级python到最新版本,那么直接在终端输入 python 打开的将是自带的2.7版本。下载了新版本的python(假设为3.5)之后,会发现直接输入python命令会报错误。

此时有两个选择,一个是使用python3命令来打开python控制台;一个是修改python的默认指向:

sudo rm -f /usr/bin/python

sudo ln -s /usr/bin/python3.5 /usr/bin/python

这样设置了之后,就可以直接使用python命令来打开python控制台了。但此时可能还会出现问题,比如ubuntu下,会发现所有apt-get install相关的命令都失败,查看原因会发现有python相关的编译错误。网上找了好多办法都没解决,最终采用的是先将python命令链接还原到老版本的python,执行完apt-get install命令之后,在将链接改回来即可。至于还原到老版本的python命令这里就不再给出,只需把第二行命令中的python3.5改成老版本的即可。

 

python脚本的编写:

  python脚本的编写大致上来说和java的代码编写没有太大差别。唯一的差别可能有以下两点需要注意:

1. 在python中可以省略语句末尾的分号;

2. 在python中代码使用分层机制,子层相对于父层必须进行缩进(四个空格),且开启子层之前父层必须以冒号(:)结尾。大致看下来python的代码如下:

def print_list(movies):
    if isinstance(movies, list):
        for movie in movies:
            print_list(movie)
    else:
        print(movies)
demo

 

python注释: 

  python中的单行注释直接使用"#"即可,对于多行注释使用三引号:

  """ 这是一个多行注释

    丫

  """

 

列表:

  在python中可以说是一切皆列表。列表可以看做是java中的数组,但又不像是数组。列表中可以混合存储多种数据类型的元素,且长度不固定,但是如果访问列表元素的时候出现越界也会抛出异常(IndexError)。列表的常见操作如下:

 1 movies = ["movie1", "movie2"]
 2  # 列表中可以嵌套列表,这里执行完后,列表中的第一个元素就是一个列表
 3 movies.insert(0, ["movie00", "movie01"])
 4 movies.remove("movie1")        # 删除列表元素
 5 
 6 # 列表循环
 7 for movie in movies:
 8     print(movie)
 9 
10 i = 0
11 while i < len(movies):            # len方法得到数组长度
12     print(movies[i])
13     i = i + 1                                  # python不支持例如 i++这种自加的操作
ListOperation

  另外往列表末尾添加元素的函数主要有extend和append下面代码给出几个列子,可以很直观的看出二者的区别:

1 movies = []
2 movies.append("movie1")
3 print(movies)       # ['movie1']
4 movies.extend('movie2')
5 print(movies)     # ['movie1', 'm', 'o', 'v', 'i', 'e','2']
6 movies.append(['movie3'])
7 print(movies)    #  ['movie1', 'm', 'o', 'v', 'i', 'e','2', ['movie3']]
8 movies.extend(['movie4'])
9 print(movies)    # ['movie1', 'm', 'o', 'v', 'i', 'e','2', ['movie3'], 'movie4']
AppendExtend

  python中的字符串既可以用单引号,也可以用双引号,对于特殊字符,仍然使用"\"进行转义。变量名区分大小。

  上面我们看到诸如len、print等这些都属于python的内置函数(BIF:built in functions)。我们可以通过dir(__builtins__)来查看所有的内置函数。要查看内置函数具体说明使用help(内置函数名)即可。

  假设我们要将上一段代码中的列表元素打印出来,且对于嵌套的列表也需要单独打印出其元素。那么我们可能需要用到函数。判断一个元素是否是列表类型,可以用内置函数isinstantce。

例如:isinstantce(movie, list) 来判断movie是否是列表。我们定义一个打印列表的函数如下:

1 def print_list(movies):
2     if isinstance(movies, list):      # 判断元素是否是列表类型
3         for movie in movies:
4             print_list(movie)       # 如果是列表类型,对元素递归调用打印列表   
5     else:
6         print(movies)
7     
print_list

定义完函数之后,我们可以直接通过 print_list(movies)来输出列表。

黎明前最黑暗,成功前最绝望!
相关文章
|
1天前
|
算法 物联网 数据库
Python 物联网入门指南(一)(4)
Python 物联网入门指南(一)
14 3
|
1天前
|
物联网 Linux 网络安全
Python 物联网入门指南(一)(3)
Python 物联网入门指南(一)
15 4
|
1天前
|
网络协议 物联网 Linux
Python 物联网入门指南(一)(2)
Python 物联网入门指南(一)
10 1
|
1天前
|
物联网 机器人 异构计算
Python 物联网入门指南(一)(1)
Python 物联网入门指南(一)
11 2
|
2天前
|
数据采集 机器学习/深度学习 前端开发
【好书推荐3】Python网络爬虫入门到实战
【好书推荐3】Python网络爬虫入门到实战
10 0
|
6天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
20 1
|
12天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
12天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
14天前
|
Python
【Python21天学习挑战赛】-入门必备
【Python21天学习挑战赛】-入门必备
|
18天前
|
存储 Python
python入门指南
python入门指南
23 0