初学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) ...
随机推荐
- vs中“Stack around the variable was corrupted”的解决方案
把 project->配置属性->c/c++->代码生成->基本运行时检查 为 默认值 就不会报本异常.具体原因正在研究中... 如果改为其他就有exception. exce ...
- LINUX 下时间转换为秒数
linux下时间是从1970.1.1开始算的秒数 //转来自网址 http://blog.csdn.net/wind19/article/details/6579495 $ dateTue Feb 3 ...
- 浅谈Android应用保护(零):出发点和背景
近几年来,无线平台特别是Android平台的安全逐渐成为各厂商关注的重点.各种新的思路和玩法层出不穷.所以,笔者基于前一段时间的学习和整理,写了这系列关于Android应用安全和保护的文章. 这5篇文 ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- 关于EF6的记录Sql语句 与 EntityFramework.Extend 的诟病
1.关于EF6的记录Sql语句,一个老生长谈的问题. 他生成的sql语句实在是烂,大家都这样说 2.EF6 更新删除不方便,没有批量操作.所以,有人出了EF6.Extend 大家用起来也很爽 基于以 ...
- 毫秒级的时间处理上G的图片(生成缩略图)
测试环境: 测试图片(30M): 测试计时方法: Stopwatch sw1 = new Stopwatch(); sw1.Start(); //TODO...... sw1.Stop(); stri ...
- Module Zero之用户管理
返回<Module Zero学习目录> 用户实体 用户管理者 用户认证 用户实体 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: public class User : ...
- edit
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- android studio sdk 不能更新
网上看到好多sdk不能更新的,解决办法基本上一下,试了下大都没用,,有人说改hosts ,我试了 貌似没用 下面是我亲测可以更新的一种方法:使用镜像地址更新 步骤: 1. 打开 SDK Manager ...
- Constraint5:unique 约束和null
unique约束使用unique index来限制列值的唯一性: 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为tr ...