关闭

Python学习 - 基础入门(1)

标签: python基础入门
456人阅读 评论(0) 收藏 举报
分类:

1. 第一个程序 hello world

print("hello world!")

注意:python文件名字的后缀是py

2.关于注释

  • 在Python中有两种注释,一种是单行注释,一种是多行注释。

通常情况下,你只需要使用#(井号)就可以注释掉一行

print("没有注释")
#print("有一个注释")

多行注释与单行有些不同。在需要注释的语句块的前后分别使用三个单引号(”’)。

'''
print("我在注释里")
print ("我还在注释里")
'''
print("我在注释的外面")

3. 关于符号(#!)

  • 1.这个符号(#!)叫做”Shebang”或者”Sha-bang”。通常在Unix和Linux系统的脚本中第一行开头出现。它是Sharp和Bang的组合词。Sharp for #, Bang for ! 类似的情况是,C#通常被称为C Sharp

  • 2.(#!)必须位于脚本的第一行,并且顶格填写,否则都是错的,即使Sha-Bang之前的内容都是注释!

  • 3.在同一个脚本中如果出现几次,那只有第一行的Sha-Bang(#!)会生效,其余的会视为注释。

  • 4.Sha-Bang(#!)不是注释。作用是告知该脚本使用的是哪种命令解释器。虽然很多情况下省略了Sha-Bang(#!)仍然能够运行脚本,这是由于系统在这种情况下是默认使用了当前命令行解释器。

那正确的写法是怎么样的呢?

#!/usr/bin/env python

以下写法是错的:

#!/usr/bin/python
#!/bin/python

为什么推荐这种写法:#!/usr/bin/env python

因为解释器的默认安装路径在各个操作系统是不太一样的,有的是/bin/,有的是/usr/bin/,甚至有可能是用户自定义的路径,使用env就基本上能够通用了。虽然env也有可能在/bin/或者/usr/bin/中,但通常的情况是在这两个路径下都有env,或者其中一个是另一个的符号链接。

最后提醒一下,有时候设定的cronjob异常,但是命令行能够执行成功,请先检查一下Sha-Bang(#!)是否合法,然后检查是否缺少了必须的环境变量,命令行能够执行成功可能是利用了默认的命令行解释器和环境变量。

最后需要注意的几点

  1. 如果#!之后的解释程序是一个可执行文件,那么执行这个脚本时,它就会把文件名及其参数一起作为参数传给那个解释程序去执行。

  2. 如果#!指定的解释程序没有可执行权限,则会报错“bad interpreter: Permission denied”。
    如果#!指定的解释程序不是一个可执行文件,那么指定的解释程序会被忽略,转而交给当前的SHELL去执行这个脚本。

  3. 如果#!指定的解释程序不存在,那么会报错“bad interpreter: No such file or directory”。
    注意:#!之后的解释程序,需要写其绝对路径(如:#!/bin/bash),它是不会自动到$PATH中寻找解释器的。

  4. 当然,如果你使用”bash test.sh”这样的命令来执行脚本,那么#!这一行将会被忽略掉,解释器当然是用命令行中显式指定的bash。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31549次
    • 积分:969
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类