Python(1):入门
安装:
在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)。列表的常见操作如下:
movies = ["movie1", "movie2"]
# 列表中可以嵌套列表,这里执行完后,列表中的第一个元素就是一个列表
movies.insert(0, ["movie00", "movie01"])
movies.remove("movie1") # 删除列表元素 # 列表循环
for movie in movies:
print(movie) i = 0
while i < len(movies): # len方法得到数组长度
print(movies[i])
i = i + 1 # python不支持例如 i++这种自加的操作
ListOperation
另外往列表末尾添加元素的函数主要有extend和append下面代码给出几个列子,可以很直观的看出二者的区别:
movies = []
movies.append("movie1")
print(movies) # ['movie1']
movies.extend('movie2')
print(movies) # ['movie1', 'm', 'o', 'v', 'i', 'e','2']
movies.append(['movie3'])
print(movies) # ['movie1', 'm', 'o', 'v', 'i', 'e','2', ['movie3']]
movies.extend(['movie4'])
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是否是列表。我们定义一个打印列表的函数如下:
def print_list(movies):
if isinstance(movies, list): # 判断元素是否是列表类型
for movie in movies:
print_list(movie) # 如果是列表类型,对元素递归调用打印列表
else:
print(movies)
print_list
定义完函数之后,我们可以直接通过 print_list(movies)来输出列表。
Python(1):入门的更多相关文章
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- Python爬虫入门一之综述
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
- 【python】入门学习(十)
#入门学习系列的内容均是在学习<Python编程入门(第3版)>时的学习笔记 统计一个文本文档的信息,并输出出现频率最高的10个单词 #text.py #保留的字符 keep = {'a' ...
- Python开发入门与实战1-开发环境
1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- python爬虫入门-开发环境与小例子
python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...
- Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...
- Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分
1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...
随机推荐
- C# 转换为int类型时原本的正数变为负数
转载http://bkcoding.cn/post_1215.html 平时定义变量用的int( int32 ),其取值范围为-2,147,483,648~2,147,483,647 当需要转换为in ...
- WPF带小箭头的按钮
XAML代码: <ControlTemplate x:Key="btnTpl" TargetType="RadioButton"> <Stac ...
- css细节复习笔记——基本视觉格式化
css包含如此开放.如此强大的一个模型,对于这样一个模型,可以有无数种方法结合应用各种属性,可以得到的效果数不胜数. 基本框 css假定每个元素都会生成一个或多个矩形框,这称为元素框.各元素中心有一个 ...
- ActionBarSherlock(一)在Eclipse中如何引入ActionBarSherlock和它的例子?
ActionBarSherlock,是一个开源的Actionbar项目(http://actionbarsherlock.com/download.html).为什么我们要用它呢?谷歌已经不强制要求厂 ...
- “全栈2019”Java多线程第八章:放弃执行权yield()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- C# 键盘中的按键对应KeyValue
首先先看一下什麼情況下需要對按鍵進行識別: KeyPress事件響應函數中,有KeyPressEventArgs, 對應於e.KeyChar; KeyDown事件響應中有KeyEventArgs 求取 ...
- Nginx文件上传下载实现与文件管理
1.Nginx 上传 Nginx 依赖包下载 # wget http://www.nginx.org/download/nginx-1.2.2.tar.gzinx # wget http://www. ...
- python 开发工具IDE pycharm的破解版安装
打开终端 cd /etc 命令行输入 sudo vim hosts 输入mac密码 输入i,进入编辑模式(注意在英文状态下书写) 粘贴0.0.0.0 account.jetbrains.com到文件最 ...
- 2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行
1063 wuli51和京导的毕业旅行 思路 中等题,二分+贪心. 简化题意,将m+1个数字分成n份,ans为这n段中每段数字和的最大值,求ans最小值及其方案. 对于这种求最小的最大值,最常用的方法 ...
- ReactNative 打包 APK
ReactNative打包步骤: 1.在项目的根目录执行下面这行命令: keytool -genkey -v -keystore my-release-key.keystore -alias my-k ...