python 基础语法
1、Python的第一个程序:
”Hello World"
一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
适用于Python 3.0以上版本以及Python 2.6、Python2.7
print("Hello World")
适用于Python 2.6以下版本以及Python 2.6、Python 2.7
print "Hello World"
将这行程序码保存为myhello.py。然后在Linux终端机下输入python myhello.py,或者在Windows命令编辑字符下输入myhello.py运行。
2、Python中的单步运行(在shell中进行):

适用于Python 3.0以上版本以及Python 2.6、Python2.7
>>> print("Hello World")
Hello World
适用于Python 2.6以下版本以及Python 2.6、Python 2.7
>>> print "Hello World"
Hello World
PS:低于3.0版本的Python,"Hello, world!"周围不需要括号。Python 3.x与Python 2.x的print语法是不一样的
3、脚本式编程:
通过脚本参数调用解释器开始工作,直到脚本执行完毕,解释器失效
现在我们自己写一个python脚本,python的后缀名是.py 将下面的程序CP到一个hello_world.py的文件中
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
print("Hello World")
使用下面的方法执行:
python hello_world.py
得到的结果是:
Hello World
4、Python中的标识符或者是变量名:
在python中,变量名(标识符)只能是数字、字母、下划线组成的
在python中,变量名(标识符)不能是数字开头
在python中,变量名(标识符)是区分大小写的
在python中,以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
在python中,变量名(标识符)不能是以下的保留字符:
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
5、Python中的引号:
在python中单引号、双引号、三引号都是可以使用的,但是引号的开头和结尾一定保持一致
其中三引号中可以是多行文本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
print('Hello')
print("Python")
print('''Hello
HI
python''')
这样都是可以的,最后打印的结果就是:
Hello
Python
Hello
HI
python
6、注释:
python 中有两种注释的方式:"#"和" '''.....''' "
"#"注释:表示单行注释
" '''....''' ":表示多行注释
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
#name = 1 #这是一个单行注释
#user = 2 #这是一个单行注释
'''
print('这是一个多行注释')
print("这是一个多行注释")
'''
"""
print('这是一个多行注释')
print("这是一个多行注释")
print('这是一个多行注释')
print("这是一个多行注释")
"""
7、用户交互式输入:
python中使用input函数调用用户交互式输入,下面的程序将执行交互式输入的操作:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
name = input("Please enter your name:") #请输入你的名字:输入的内容会赋值给name变量
print(name) #打印name
8、空行:
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
PS:空行也是程序代码的一部分。
9、行和缩进:
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强迫程序员养成良好的编程习惯,也方便所有人查找和阅读。并且Python语言利用缩进表示语句块的开始和结束(Off-side规则),而非使用花括号或者某
种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的结束。缩进成为了语法的一部分。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
num = int(input("Please input number:")) #请输入一个数字
if num < 10: #如果输入的数字小于10
print('yes') #打印yes
else: #否则
print('no') #打印no
我们现在写一个缩进不正常的程序:测试以下报错信息:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/12/1 16:51
# @Author : zjz10
# @Site :
# @File : hello_world.py
# @Software: PyCharm
num = int(input("Please input number:")) #请输入一个数字
if num < 10: #如果输入的数字小于10
print('yes') #打印yes
else: #否则
print('no') #打印no
print('yes_no?') #没有按照正常的缩进,在执行的时候肯定会报错
下面是执行结果:

PS: IndentationError: unexpected indent 错误是python编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有python对格式要求非常严格。
如果是 IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
因此,在Python的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
10、语句和控制流:
if语句,当条件成立时运行语句块。经常与else, elif(相当于else if)配合使用。 for语句,遍列列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。 while语句,当条件为真时,循环运行语句块。 try语句。与except, finally, else配合使用处理在程序运行中出现的异常情况。 class语句。用于定义类型。 def语句。用于定义函数和类型的方法。 pass语句。表示此行为空,不运行任何操作。 assert语句。用于程序调适阶段时测试运行条件是否满足。 with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加锁,然后在语句块运行结束后释放锁。 yield语句。在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。 raise语句。抛出一个异常。 import语句。导入一个模块或包。常用写法:from module import name, import module as name, from module import name as anothername
10、闲聊一下其他语言的Hello World:
下面的代码分别是:C++ C JAVA PHP RUBY GO
#include <iostream> int main(void) { std::cout<<"Hello world"; }
#include <stdio.h> int main(void) { printf("\nhello world!"); return 0; }
public class HelloWorld{ // 程序的入口 public static void main(String args[]){ // 向控制台输出信息 System.out.println("Hello World!"); } }
<?php echo "hello world!"; ?>
puts "Hello world."
package main import "fmt" func main(){ fmt.Printf("Hello World!\n God Bless You!"); }

浙公网安备 33010602011771号