Python之路——基础知识

一、Hello World!

假设你已经安装好了Python, 那么在Linux命令行输入:

$python

将直接进入python。然后在命令行提示符>>>后面输入:

>>>print('Hello World!')

可以看到,随后在屏幕上输出:

Hello World!

二、解释器

如果想要类似于执行shell脚本一样执行python脚本,例:./hello.py ,那么就需要在 hello.py 文件的头部指定解释器

1
2
3
#!/usr/bin/env python
  
print "hello,world"

如此一来,执行: ./hello.py 即可。

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

三、内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ps:应该显示的告诉python解释器,用什么编码来执行源代码。(2.7 # -*- conding:utf- -*-    3.X 默认utf-8)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
print "你好,世界"

  

四、注释

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """

五、执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
import sys
  
print sys.argv

六、 pyc 文件

执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

七、变量

声明变量

1
2
3
4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
name = "wupeiqi"

上述代码声明了一个变量,变量名为: name,变量name的值为:"wupeiqi"

变量的作用:昵称,其代指内存里某个地址中保存的内容

变量定义的规则

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • ['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']

    #一个等号是赋值,两个等号是比较,!=表示不等于。

八、输入
1
2
3
4
5
6
7
8
 
 
 
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
# 将用户输入的内容赋值给 name 变量
name = raw_input("请输入用户名:")
  
# 打印输入的内容
print name
 

2.7中 raw_input
3.X中 input

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
import getpass
  
# 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:")
  
# 打印输入的内容
print pwd

九、流程控制和缩进

需求一、用户登陆验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
# -*- coding: encoding -*-
  
# 提示输入用户名和密码
  
# 验证用户名和密码
#     如果错误,则输出用户名或密码错误
#     如果成功,则输出 欢迎,XXX!
 
 
import getpass
  
  
name = raw_input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
  
if name == "alex" and pwd == "cmd":
    print "欢迎,alex!"
else:
    print "用户名和密码错误"

需求二、根据用户输入内容输出其权限

1
2
3
4
5
6
# 根据用户输入内容打印其权限
  
# alex --> 超级管理员
# eric --> 普通管理员
# tony,rain --> 业务主管
# 其他 --> 普通用户
1
2
3
4
5
6
7
8
9
10
11
name = raw_input('请输入用户名:')
  
  
if name == "alex"
    print "超级管理员"
elif name == "eric":
    print "普通管理员"
elif name == "tony" or name == "rain":
    print "业务主管"
else:
    print "普通用户"

PS:外层变量,可以被内层变量使用;  内层变量,无法被外层变量使用。

十、while循环

1、基本循环

1
2
3
4
5
while 条件:
     
    # 循环体
 
    #当循环到尾部时,判断条件是否True,如果是继续执行。

2、break

用于跳出当前循环,并且下面的代码不再执行。

1
2
3
4
while True:
    print "123"
    break
    print "456"

3、continue

用于跳出本次循环,重新执行下一次循环。

1
2
3
4
while True:
    print "123"
    continue
    print "456"

 

十一、编码、解码

	#py2
		# -*- conding:utf-8 -*-
		temp = "周杰伦" #utf-8
		#解码,需要指定原来是什么编码
		temp_unicode = temp.decode('utf-8')
		#编码,需要指定要变成什么编码
		temp_gbk = temp_unicode.encode('gbk')
	
	#py3	自动转换utf-8	unicode		gbk
	#py3	移除了python的unicode类型
		temp = "周杰伦" #utf-8	
		temp_gbk = temp.encode('gbk')
	print(temp_gbk)

十二、运算符

	#算术运算
		+	-	*	/	
		%	取模运算  可用来判断奇偶
		**	幂
		//	取整除
		py2:	9/2 = 4		9/2 = 4.5(导入模块from __future__ import division)
		py3:	9/2 = 4.5

	#比较运算
		==	等于
		!=	不等于
		<>	不等于(2)
		<	>	>=	<=

	#赋值运算
		=	+=	-=	*=	/=	**=	%=	//=

	#逻辑运算
		and	与
		or	或
		not	非

	#成员运算
		in 		not in

  

posted @ 2018-02-03 22:07  周青春-ZD  阅读(154)  评论(0编辑  收藏  举报