这篇文章只是学Python最最最基础的部分知识,如果你已经有过python经验,哪怕就一点点经验,或许你都遇到过,但相信这些问题对你来说早已不算问题了,所以请跳过吧,用你的时间去学习更多其他的知识就好~ ^_^

但是这篇文章中提到的问题尽管很简单,简单到幼稚到打点滴,但记录下来,为了提醒自己,学习的旅途中,总会有一些或大或小的问题,我们在嘲笑新人为什么这么简单的问题都不懂之前, 别忘了,我们自己也被别人或者未来的自己嘲笑过~

问我为什么学Python?如果我告诉你,我就是一时兴起,你信么?不管你信不信,反正我信了~哈哈……

好吧,其实还真就是一时兴起,尽管Python流行了好一段时间了,很多公司都在用,估计出去面试也会被问到,但是由于自己工作中接触不到,我是没有机会通过工作来学习,也没有那种动力去学的,话说Python这个单词的读音我都不太懂,还是一次偶然和同事聊天聊起来,同事说的~

于是今天就试着学学这门俗话称适合初学者学习的简单的语言,学习语言,第一步就是需要安装python环境,于是,按部就班地来到网站下载安装,选择的是默认安装,装完后,打开cmd,输入python……

确定不是在耍我?泥煤……上网查了下,原来需要配置环境变量,这里我安装的是当前最新版本 3.5.x,根据网络上的说法,需要在Path里添加:C:\Python35就可以了,于是打开环境变量设置的对话框设置好了,再重做之前的操作……答案是一样的……

网上又说,更改了环境变量,需要重启电脑……重启……等待重启完成之后,再次重复之前的操作……得到了一样的提示……

'python' is not recognized as an internal or external command,

operable program or batch file.

说实话,学习编程语言,除了大学期间学Java设置环境变量把人折腾崩溃之后,还真没有什么语言在这一步就让我如此抓狂的……真有点欲哭无泪……

或许是我安装不对,于是选择卸载,重装,这才发现,原来是自己安装的时候太大意了……再次打开安装页面,才发现最底下有一个复选框:Add Python 3.5 to PATH:

事实证明,能在安装的时候让软件自己写入PATH比自己手动添加的正确率高了不是一般的多……甚至可以不用care到底在环境变量里添加了什么鬼,反正再次运行的时候,成功了……

回到环境变量的设置当中,会发现,添加的内容居然不是网上说的 C:\Python35, 而是Python的路径,且最后是 \Python35-xx, 果然根据网上的内容手动添加容易出错~

环境装好了,也验证了python的可用性,接下来可以正式学习这门语言了~

话说Python这门语言也是有够奇葩的,居然没有向下兼容,起初google搜索到的学习资料默认是python2.7.x的版本,想着,语言都大同小异,对于一门新的语言,其实没必要从最新的文档学起,因为最新的文档无非是包含了一些更为便捷或者新增了一些好用的方法而已。于是很用心地跟着打开的教程敲下代码:print "Hello world",居然报错了!!!

天地为证,我是跟着网站上的内容一字一字敲的,十分确定我敲的是print,而不是printf,在摒除了拼写错误引起的问题之后,我彻底郁闷了,这大概是第一门我败在了Hello world上的语言……

这时候万能的Stack Overflow帮了很大的忙,原来print " xxx "的语法为Python2.x的,到了Python3已经不适用了,不应该啊,万一之前的项目用的是python2的语法,但随着技术的提升,或者新版本更好用的语法出现了,我们要升级用python3了,却发现前面的代码需要全部翻盘……这确定是好事么?好吧,我没有上网去搜为什么Python会做出这样的语法变更决定,这里也不多做评论了~

将代码改成 print ("Hello world"), 再次运行代码,终于是成功了~

但是这样交互式的编码,其实和生活工作中是常用于需要即写即得的情况的,而不是我们写代码的习惯,我们一般都会选择将代码写在文件里,需要的时候,将一个文件运行起来,于是创建了一个 .py的文件,将代码写入其中。

根据网络上所说,只需要输入 python [文件路径] 就可以运行了,于是,将文件放入C盘盘符下,运行Hello world, 相信我们能得到的答案是预期的,然而……

SyntaxError: invalid syntax.... 赶紧打开文件查看是不是拼写错误,有没有中英文符号错误……一再确认之后,又一次陷入了崩溃境地……不就是一个Hello world么,这个world居然如此不欢迎我……

与其开始怀疑网络上是否出现了错误,我选择尝试将invalid syntax放在google search看看是不是有谁和我遇到了同样的麻烦……果然,还真有……

除了用的语法不一样之外,遇到的问题一模一样……同是天涯沦落人啊,都是被一行最简单的代码给击倒的,赶紧往下拉,看看有没有人来回到这看起来真的够白痴的问题:

这不是真的,居然说因为我们是用的python解释器直接运行引起的……如果使用自带的command window 就不会发生这样的情况,抱着怀疑的态度,我还是选择尝试用系统自带的command window,居然……

成功了?所以,在command window里输入python关键字进入的是python的解释器,而在python解释器里只能进行及时交互。

这样的情况,还真是第一次碰到,也估计不少学习python的初学者(无论是否有编码经验)会遇到的简单问题。

好吧,到这里,仅仅是安装python到输入一句打印hello world,就已然遇到了不少问题,相信继续学下去还会遇到不少问题的,一步一步慢慢来吧~ 也要衷心感谢Stack Overflow 网站给我们提供了很多问题的解答,无论问题简单与否,都有热心的同仁们耐心地为我们解答~

想要第一时间看到软件测试系列文章的更新及更多精彩内容可以扫描下面二维码关注微信公众号: 倚楼听风雨的如月

初学Python遇到的问题一二的更多相关文章

  1. 初学Python

    初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...

  2. 无开发经验,初学python

    1.无开发经验,初学python   如果你不会其他语言,python是你的第一门语言: A Byte of Python (简明python教程,这个有中文版简明 Python 教程)是非常好的入门 ...

  3. 初学 Python(十五)——装饰器

    初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...

  4. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  5. 初学 Python(十三)——匿名函数

    初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...

  6. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  7. 初学 Python(十一)——切片

    初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age ...

  8. 初学Python(十)——列表生成式

    初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...

  9. 初学Python(九)——函数

    初学Python(九)--函数 初学Python,主要整理一些学习到的知识点,这次是函数. 函数定义: # -*- coding:utf-8 -*- #函数的定义 def my_function(x) ...

随机推荐

  1. UI控件(UIButton)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // UIButtonTypeCustom = 0, ...

  2. Java NIO3:通道和文件通道

    通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字节缓 ...

  3. 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

    毕竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里.所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命.下面我们主要讨论的是如 ...

  4. SQL Server 查询分解

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/查询步骤 概述 查询步骤是很基础也挺重要的一部分,但是我还是在周围发现有些人虽然会语法,但是对于其中的步骤不是很清楚,这里就来分解 ...

  5. JavaScript面试时候的坑洼沟洄——数据类型

    前些日子写了篇关于最近找工作的一些感受的博客 找工作的一些感悟--前端小菜的成长,没想到得到了很多园友的共鸣,得到了很多鼓励,也有园友希望我分享一些笔试.面试的经验.我觉得分享一些笔试题没太多价值,对 ...

  6. 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选

    在前两篇老司机学Xamarin系列中,简单介绍了Xamarin开发环境的搭建以及Prism和MvvmCross这两个开发框架.不同的框架,往往不仅仅使用不同的架构风格,同时社区活跃度不同,各种功能模块 ...

  7. Module Zero安装

    返回<Module Zero学习目录> 使用模板创建(自动方式) 手动安装 核心(领域)层 基础设施层 展示层 这里需要抱歉的是,这里使用的博客园的Markdown语法,代码显示不是很好看 ...

  8. Jmeter 使用Jmeter与Badboy进行压力测试

    1. 介绍 Badboy是一个录制请求的工具,这里用它来生成文件给JMeter用. JMeter是一个用java写的开源的性能测试工具,用于模拟在服务器.网络或者其他对象上附加高负载以测试他们提供服务 ...

  9. Android开发学习之路-下拉刷新怎么做?

    因为最近的开发涉及到了网络读取数据,那么自然少不了的就是下拉刷新的功能,搜索的方法一般是自己去自定义ListView或者RecyclerView来重写OnTouch或者OnScroll方法来实现手势的 ...

  10. 构建基于Chromium的应用程序

    chromium是google chrome浏览器所采用的内核,最开始由苹果的webkit发展而出,由于webkit在发展上存在分歧,而google希望在开发上有更大的自由度,2013年google决 ...