在学习python之前我们可以先学习一些Linux的简单语法,帮助我们对python语句的编译和执行有一个更好的理解,同时如果我们以后开发的python程序需要用到服务器,可以直接用Linux搭建。
接下来我们就可以开始学习python了,python、Java和PHP等语言被称为高级语言,C语言和汇编语言被称为低级语言,但是高级语言是字节码,需要转换为低级语言,即机器码,才可以进一步交给计算机处理,称为低级语言不如说是底层语言,python是由C语言开发出来的。
高级语言也称面向对象编程语言,PHP语言适用于写网页,但具有局限性,python和Java既可以写网页,也可以写后台功能,但各有特点,python执行效率低,但开发效率高,Java执行效率高,但开发效率低。
python可以细分为JPython,IronPython,JavaScriptPython,RubyPython,CPython,其中CPython是我们所用的python,还有一种python叫pypy,它是用CPython开发的python。
python安装在操作系统OS上,具体执行过程为,写一个文件,文件中的代码语句按照python的规则写,将文件交给python软件,读取文件中的内容,然后进行转换和执行,最终获取结果。
可能有人会有疑问既然python需要转化为低级语言执行,那我学习C语言和汇编语言岂不是更好,其实不然,在开发项目过程中会涉及到内存管理,用低级语言开发项目需要开发者自己申请内存和释放内存,而用python的话,python解释器就自动完成内存管理。如过有同学跟我一样本科期间使用C语言和单片机做过智能车和电赛的话,对这个问题理解就会更容易一些。
python在windows系统上安装,只需要一直点击下一步就可以了,可以安装python2或者python3,同样在Linux系统上也可以安装python2或python3,但是在Windows系统下安装需要配置一下环境变量,配置方法如下:





1、第一句python,print("Hello,World"),文件后缀名可以任意,但正规军的文件后缀名是 .py。
2、执行方式有两种,
(1)python进入解释器输入py文件路径
(2)python进入解释器:实时输入并获取到执行结果
3、如果操作在Linux系统上,则需要在代码前添加代码语句
1 #!/usr/bin/env python
4、编码方式,如果使用python2,每个文件中只要出现中文,文件头部就必须添加代码语句
1 # -*- coding:utf8 -*-
5、变量,代指某一个变化的值。变量名由字母、数字和下划线组成,但是数字不能作为开头,而且不能是关键字'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield',那么如何避免与关键字冲突呢,可以使用Pycharm编程,冲突时会有提示。
尽量让起的名字有意义。
1 #!/usr/bin/env python
2 # -*- coding:utf8 -*-
3 user_id = "1239871872387872"
4 print(user_id)
输出结果为
1 1239871872387872
6、变量结合input使用效果更佳。
#!/usr/bin/env python
# -*- coding:utf8 -*-
n1 = input('请输入用户名:')print(n1)
input功能为永远等待,直到用户输入了值,就会将输入的值赋值给 n1,n1代指用户输入的内容
执行过程为从键盘上输入任意符号例如root,单击回车后,输出显示为任意符号例如root。
7、条件语句
1、if基本语句
1 if 1 == 1:
2 print("吃饭")
3 else:
4 print("工作")
输出结果为 吃饭
2、if嵌套
1 if 1 == 1:
2 if 2 == 2:
3 print("吃饭")
4 else:
5 print('睡觉')
6 else:
7 print("工作")
输出结果为 吃饭
3、if elif
1 inp = input('请输入用户名')
2 if inp == "吃饭":
3 print('吃饭')
4 elif inp == "睡觉":
5 print('睡觉')
6 elif inp == "看书":
7 print('看书')
8 else:
9 print('工作')
10 print('开始....')
当你输入睡觉,回车后,输出结果为睡觉,开始.... 。当你输入喝水,回车后,输出结果为开始.... 。
4、pass代指空代码,无意义,仅用于表示代码块
1 if 1==1:
2 pass
3 else:
4 print('工作')
输出结果为空
5、也可以结合and和or使用
1 if n1 == "吃饭" or n2 == "睡觉":
2 print('OK')
3 else:
4 print('工作')
注意:缩进为四个空格,可直接使用 TAB 键
8、基本数据类型
1、字符串(引号):
1 name = "cf"
2 name = 'cf'
3 name = " " " cf " " "
仅此三种引导情况
加法:
1 n1 = "cf"
2 n2 = "sj"
3 n3 = "ks"
4 n4 = n1 + n2 + n3
乘法:
1 n1 = "cf"
2 n2 = n1 * 10
2、数字:
1 age = 13
加减乘除次方余商:
1 a1 = 10
2 a2 = 20
3 a3 = a1 + a2
4 a3 = a1 - a2
5 a3 = a1 * a2
6 a3 = 100 / 10 #有小数的除法
7 a3 = 4**4 #次方
8 a3 = 39 % 8 # 获取39除以8得到的余数
9 a3 = 39 // 8 #只取商
9、循环
死循环
1 while 1 == 1 :
2 print('OK')
10、最后我们学完要适当做一些练习题
1、使用while循环输出 1 2 3 4 5 6 8 9 10
2、求1-100的所有数的和
3、输出 1-100 内的所有奇数
4、输出 1-100 内的所有偶数
5、求1-2+3-4+5 ... 99的所有数的和
6、设计程序实现用户登录(仅三次机会)
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=