初学Python遇到的问题一二
这篇文章只是学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遇到的问题一二的更多相关文章
- 初学Python
初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...
- 无开发经验,初学python
1.无开发经验,初学python 如果你不会其他语言,python是你的第一门语言: A Byte of Python (简明python教程,这个有中文版简明 Python 教程)是非常好的入门 ...
- 初学 Python(十五)——装饰器
初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...
- 初学 Python(十四)——生成器
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...
- 初学 Python(十三)——匿名函数
初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- 初学 Python(十一)——切片
初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age ...
- 初学Python(十)——列表生成式
初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...
- 初学Python(九)——函数
初学Python(九)--函数 初学Python,主要整理一些学习到的知识点,这次是函数. 函数定义: # -*- coding:utf-8 -*- #函数的定义 def my_function(x) ...
随机推荐
- js面向对象基础总结
js中如何定义一个类? 定义的function就是一个构造方法也就是说是定义了一个类:用这个方法可以new新对象出来. function Person(name, age){ this.name = ...
- js中的变量类型
js 中输出定义变量的类型 typeof 变量名. var u: --underfined类型 var s = "你是一个好人": --string类型 var n = ...
- c#之结构体
struct是一种复合值类型,通常用来封装小型变量组,其中每个变量为结构的成员. C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: ...
- 登陆数据库,界面一直保持正在登陆的状态,oracle使用界面无法登陆
原因:关机时没有关闭oracle窗口. 导致在登陆数据库的时候,使用oracle的这个界面登陆时,界面一直保持''正在登陆''的状态,一旦点击就会卡住,使界面变得无法响应. 然后使用sqlplus仍然 ...
- 搭建Linux+Jexus+MariaDB+ASP.NET[LJMA]环境
备注:,将我的博客内容整理成册,首先会在博客里优先发布,后续可能的话整理成电子书,主要从linux的最基础内容开始进入Linux的Mono开发方面的话题.本文是我整理博客内容的一篇文章. LJMA 是 ...
- 免杀后门之MSF&Veil-Evasion的完美结合
本文由“即刻安全”投稿到“玄魂工作室” Veil-Evasion 是 Veil-Framework 框架的一部分,也是其主要的项目.利用它我们可以生成绕过杀软的 payload !kali 上并未安装 ...
- gulp使用小结(一)
这篇文章不会介绍 gulp 的起源.发展:不会去一个个讲解 gulp API:也不想出现大段大段的 gulpfile.js 代码:更木有帮你分析 gulp 实现原理,只有一些我自己对 gulp 的使用 ...
- PMO是什么?如何与其他部门协作配合提高项目成功率?
许多公司里,有许多IT项目,特别是在软件公司里,许多开发团队并没有运用灵敏开发来进行项目办理.在某些状况下,尤其在一些公司里IT不是很受注重的,只能作为一个事务支撑部分,灵敏团队面对的首要疑问,是缺少 ...
- ajax的使用:例题、ajax的数据处理
需要注意的是,调用的封装的数据库,和jQuery的保存地址 一.注册 (1)写文本框来进行用户名的验证 <input type="text" id="uid&quo ...
- 使用angular中ng-repeat , track by的用处
我们见到最简单的例子是: <div ng-repeat="link in links" ></div> 如果item的值有重复的,比如links=[&quo ...