python基础知识

python基础知识

python标识符

1、python中,标识符由字母、数字、下划线组成。
2、所有标识符可以包括英文、数字以及下划线(_),但是不能以数字开头
3、python中标识符是区分大小写的。
4、以下划线开头的标识符是有特殊意义的。以单下划线开头 foo_代表python里特殊方法专用的标识,如_init()代表类的构造函数。
5、python可以同一行显示多条语句,方法是用分号;分开,如:

>>>print 'hello';print 'runoob';
hello
runoob

python保留字符

下面是python中的保留字,这些保留字不能用作常数或变数,或任何其他标识符名称。
所有python的关键字只包含小写字母。

andexec
notassert
finallyor
breakfor
passclass
fromprint
continueglobal
raisedef
ifreturn
delimport
tryelif
inwhile
elseis
withexcept
lambdayield

行和缩进

学习python与其他语言最大的区别就是,python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。
python最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:

if True:
 print "True"
else:
 print "False"

以下代码将会执行错误:

#!/usr/bin/python

if True:
	print "True"
else:
    print "False"	#没有严格缩进,在执行时会报错

执行以上代码会有如下错误提醒:IndentationError:does not match any outer indentation level
提醒表明:你使用的缩进方式不一致,有的是tab键缩进,有的是空格缩进,改为一致即可
但是如果提醒为:IndentationError:unexpected indent错误,则python编辑器是在告诉你,你的文件里格式不对了,可能是tab和空格没对齐的问题

总结:所有python对格式要求非常严格,因此,在python的代码块中必须使用相同数目的行首缩进空格数
建议:每个缩进层次使用 单个制表符 或 两个空格 或 四个空格,切记不能混用

多行语句

python语句中一般以新行作为语句的结束符。
但是我们可以使用 斜杠(/) 将一行的语句分为多行显示,如下所示:

total = item_one + \
	 item_two + \
	 item_three

语句中包含[],{}或()括号就不需要使用多行连接符,如下:

days = ['Monday', 'Tuesday', 'Wednesday',
 	'Thursday', 'Friday']

python引号

Python 可以使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

python注释

python中单行注释采用#开头。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
#文件名:test.py

#第一个注释
print "hello, python!"	#第二个注释

输出结果:

hello,python!

注释可以在语句或表达式行末:

name = "Madisetti" 	#这是一个注释

python中多行注释使用三个单引号(’’’)或三个双引号(""")。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
# 文件名:test.py

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是python语法的一部分。书写时不插入空行,python解释器运行也不会出错。但是空行的作用在于分隔两端不同功能或含义的代码,便于日后代码的维护或重构。
注:空行也是代码的一部分

等待用户输入

一下程序执行后就会等待用户输入,按回车键后就会退出:

#!/usr/bin/python
# -*- coding:UTF-8 -*-

raw_input("按下 enter 键退出, 其他任意键显示...\n")

以上代码中,\n实现换行。一旦用户按下enter(回车)键退出,其它键显示。

同一行显示多条语句

python可以在同一行中使用多条语句,语句之间使用分号(;)分隔,以下是一个简单的实例:

#!/usr/bin/python

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

执行以上代码,输出结果为:

# 执行以上代码
$ python test.py
# 输出结果为
runoob	

print输出

print默认输出是换行的,如果实现不换行需要在变量末尾加上逗号(,)

#! /usr/bin/python
# -*- coding:UTF-8 -*-

x = "a"
y = "b"
#换行输出
print x
print y

print '--------'
#不换行输出
print x,
print y,

#不换行输出
print x,y

以上代码执行结果为:

a
b
--------
a b a b

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号(:)结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
如下:

if expression :
	suite
elif expression :
	suite
else :
	suite

命令行参数

很多程序可以执行一些操作来查看一些基本信息,python可以使用 -h 参数查看各参数帮助信息:

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... 
Options and arguments (and corresponding environment variables): 
-c cmd : program passed in as string (terminates option list) 
-d     : debug output from parser (also PYTHONDEBUG=x) 
-E     : ignore environment variables (such as PYTHONPATH) 
-h     : print this help message and exit 
 
[ etc. ] 

我们在使用脚本形式执行python时,可以接收命令输入的参数,具体使用如下:
python提供了getopt模块来获取命令行参数。

$ python test.py arg1 arg2 arg3

python中也可以用sys.argv来获取命令行参数:

- sys.argv 是命令行参数列表
- len(sys.argv)是命令行参数个数。

注:sys.argv[0]表示脚本名

实例:

test.py文件代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys

print '参数个数为:', len(sys.argv), '个参数。'
print '参数列表:', str(sys.argv)

执行以上代码,输出结果为:

$ python test.py arg1 arg2 arg3
参数个数为: 4 个参数。
参数列表: ['test.py', 'arg1', 'arg2', 'arg3']

getopt模块

getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式(-)和长选项模式(–)。
该模块提供了两个方法及一个异常处理来解析命令行参数。

getopt.getopt 方法

getopt.getopt 方法用于解析命令行参数列表,语法格式如下:

getopt.getopt(args, options[, long_options])

方法参数说明:
- args: 要解析的命令行参数列表。
- options : 以字符串的格式定义,options 后的冒号 : 表示如果设置该选项,必须有附加的参数,否则就不附加参数。
- long_options : 以列表的格式定义,long_options 后的等号 = 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
- 该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有 - 或 – 的参数。
另外一个方法是 getopt.gnu_getopt,这里不多做介绍。

Exception getopt.GetoptError

在没有找到参数列表,或选项的需要的参数为空时会触发该异常。
异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。

实例
假定我们创建这样一个脚本,可以通过命令行向脚本文件传递两个文件名,同时我们通过另外一个选项查看脚本的使用。脚本使用方法如下:

usage: test.py -i <inputfile> -o <outputfile>

test.py 文件代码如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i <inputfile> -o <outputfile>'
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print 'test.py -i <inputfile> -o <outputfile>'
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print '输入的文件为:', inputfile
   print '输出的文件为:', outputfile

if __name__ == "__main__":
   main(sys.argv[1:])

执行以上代码,输出结果为:

$ python test.py -h
usage: test.py -i <inputfile> -o <outputfile>

$ python test.py -i inputfile -o outputfile
输入的文件为: inputfile
输出的文件为: outputfile

注:本文来自笔者在网上学习时做的笔记,不做任何商用,只作为个人的学习笔记!

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值