Python基础语法(Python基础知识点)
Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。 第一个Python程序: 交互模式编程: 调用解释器不经过脚本文件作为参数,显示以下提示: $ python Python 2.6.4 (#1,Nov 11 2014,13:34:43) [GCC 4.1.2 20120704 (Red Hat 5.6.2-48)] on linux2 Type "help","copyright","credits" or "license" for more information. >>> 键入下列文字在Python提示符,然后按Enter键: >>> print "Hello,Python!"; 如果您运行的是新的Python版本,那么需要使用打印语句括号像print ("Hello,Python!");。但是在Python版本2.6.4,这将产生以下结果: Hello,Python! 脚本模式编程: 调用解释器及脚本作为参数,并开始执行的脚本,并一直持续到脚本完成。当脚本完成时,解释器不再是活动的。 让我们在脚本中编写一个简单的Python程序。所有的Python文件将具有.py扩展。所以,把下面的代码写在一个test.py文件。 print "Hello,Python!"; 在这里,我假设你已经在PATH变量中设置Python解释器。现在,尝试如下运行这个程序: $ python test.py 这将产生以下结果: Hello,Python! 让我们尝试另一种方式来执行Python脚本。下面是修改后的test.py文件: 复制代码 代码如下: #!/usr/bin/python print "Hello,Python!"; 在这里,假设Python解释器在/usr/bin目录中可用。现在,尝试如下运行这个程序: 复制代码 代码如下: $ chmod +x test.py # This is to make file executable $./test.py 这将产生以下结果: Hello,Python!
Python标识符是用来标识一个变量,函数,类,模块或其他对象的名称。一个标识符开始以字母A到Z或a〜z或后跟零个或多个字母下划线(_),下划线和数字(0〜9)。 Python中标识符内不允许标点符号,如@,$和%。 Python是一种区分大小写的编程语言。因此,Manpower 和manpower在Python中是两个不同的标识符。 这里有Python标识符命名约定: • 类名以大写字母以及所有其它标识符以小写字母。 保留字: 下面列出了在Python中的保留字。这些保留字不可以被用作常量或变量,或任何其它标识符。所有Python关键字只包含小写字母。
行和缩进: 一个程序员学习Python时,遇到的第一个需要注意的地方是,不使用括号来表示代码的类和函数定义块或流程控制。代码块是由行缩进,这是严格执行表示方式。 在缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量。在这个例子中,两个功能块都很好使用: if True: print "True" else: print "False" 然而,在本实施例中的第二块将产生一个错误: if True: print "Answer" print "True" else: print "Answer" print "False" 因此,在Python中所有的连续线缩进的空格数同样的会结成块。以下是各种语句块中的例子: 注意:不要试图理解所使用的逻辑或不同的功能。只要确定你明白,即使他们各种模块无需括号。 #!/usr/bin/python import sys try: # open file stream file = open(file_name,"w") except IOError: print "There was an error writing to",file_name sys.exit() print "Enter '",file_finish,print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write(" ") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name,"r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text 多行语句: Python语句通常用一个新行结束。 但是,Python允许使用续行字符()来表示,该行应该继续下去(跨行)。例如: total = item_one + item_two + item_three 包含在[],{}或()括号内的陈述并不需要使用续行符。例如: days = ['Monday','Tuesday','Wednesday','Thursday','Friday'] Python引号: Python接受单引号('),双引号(“)和三(''或”“”)引用,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。 三重引号可以用于跨越多个行的字符串。例如,所有下列是合法的: word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences.""" Python注释: 一个井号(#),这不是一个字符串文字开头的注释。“#”号之后字符和到物理行是注释的一部分,Python解释器会忽略它们。 #!/usr/bin/python # First comment print "Hello,Python!"; # second comment 这将产生以下结果:
name = "Madisetti" # This is again comment 你可以使用多行注释如下: # This is a comment. # This is a comment,too. # This is a comment,too. # I said that already. 使用空行: 一行只含有空格,可能带有注释,如果是空行那么Python完全忽略它。 在交互式解释器会话中,必须输入一个空的物理行终止多行语句。 等待用户: 程序的下面一行显示的提示,按回车键退出,等待用户按下回车键: #!/usr/bin/python raw_input("Press the enter key to exit.") 在这里,“ 已”被用来显示实际行之前创建两个换行。一旦用户按下键时,程序结束。这是一个很好的技巧,保持一个控制台窗口打开,直到用户完成应用程序运行。 在一行中多个语句: 分号( ; ) 允许在单行写入多条语句,不管语句是否启动一个新的代码块。下面是使用分号示例: import sys; x = 'foo'; sys.stdout.write(x + '') 多个语句组作为套件: 一组单独的语句,在Python单一的代码块被称为序列。复杂的语句,如if,while,def,and class,那些需要一个标题行和套件。 标题行开始的声明(与关键字),并终止与冒号(:)),接着是一个或多个线构成该套件。例如: 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中查看变量对应的地址用函数id(var)。 a = 123 b = 123 然后我们输出id(a)和id(b)会发现这两个值完全一样 Python中的复数 在Python中复数类型的虚部用j表示的,比如a = 3 + 4j 可以直接进行计算。 a,b,c = (1,2,3) >>> a = 2**3 >>> print a 8 >>> //用于向下取模,主要用于浮点数,比如3//1.7 = 1.0 >>> a = 3//1.7 >>> print a 1.0 >>> 数字类型的内建函数 转换函数:将其他类型的数字转换为相应类型 int()、long()、float()、complex() bool() >>> a = 6 >>> b=complex(a) >>> print b (6+0j) >>> 功能函数: abs(num) 绝对值 coerce(num1,num2) 将num1和num2转换为同一类型,然后以一个元组的形式返回 >>> a=3.14159 >>> b=100 >>> print coerce(a,b) (3.14159,100.0) >>> divmod(num1,num2) 获得商和余数的元组 >>> a=9 >>> b=6 >>> print divmod(a,b) (1,3) >>> pow(num1,num2,mod=1) 快速幂取模运算 >>> a=2 >>> b=3 >>> print pow(a,5) 3 round(flt,ndig=1) 对浮点型进行四舍五入运算 >>> print round(3.1415926,4) 3.1416 >>> 列表类型内建函数 list.append(obj) 向列表中添加一个对象obj >>> arr = [1,1,5,6,9,7,3,11,56,45,78,100,55,10] >>> arr.append(89) >>> print arr [1,10,89] >>> print arr.count(5) 2 >>> arr1 = [123,456,789] >>> arr.extend(arr1) >>> print arr [1,89,123,789] >>> arr.insert(1,999) >>> print arr [1,999,789] >>> arr.pop(0) 1 >>> print arr [999,789] >>> arr.remove(999) >>> print arr [1,789] >>> arr.sort() >>> print arr [0,789] >>> 列表有容器和可变特性 >>> dict = {'name':'goujinping','age':'21','sex':'man','school':'NEFU'} >>> print dict {'age': '21','school': 'NEFU','name': 'goujinping','sex': 'man'} >>> dict['age'] '21' >>> print dict['name'] goujinping >>> print dict['age'] 21 >>> for key in dict.keys(): print key age school name sex >>> for value in dict.values(): print value 21 NEFU goujinping man >>> del dict['sex'] >>> print dict {'age': '21','name': 'goujinping'} >>> del dict['school'] >>> print dict {'age': '21','name': 'goujinping'} >>> del dict >>> print dict <type 'dict'> >>> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |