python入门
一、编写Hello,World
方法一、 进入解释器,实施输入并获取到执行结果
C:\Users\84535>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
打开cmd,输入Python,如果没有出现下面的实例,检查下python环境变量是否配置好。
配置方法如下:
1、下载安装包
https://www.python.org/downloads/
2、安装
默认安装路径:C:\python27
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
实例如下:
C:\Users\84535>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
可以看出输出一句 hello,world 只需要一行代码即可,但是有一个缺点,那就是如果不小心把窗口关闭了,代码就没有了,所以在实际工作中这种方式并不常用。
实际工作中,我们将代码保存在 .py文件中,保存为txt文件也行,但是就看不出来这是一个Python文件,所以不推荐这么做,然后在命令行下执行 python 1.py 就可以打印出来Hello,World。
方法二、 用保存好的 py文件
#!/usr/bin/env python #必须声明是什么解释器来解释此脚本 解释器路径
# coding=utf-8 指定编码类型为utf-8
print("Hello,World")
第一行代码是在Linux下执行的时候,指出文件由python解释器来执行,
第二行是告诉解释器在加载文件时,采用何种编码,不加上这句的话,在python2中显示中文会出现乱码,在python3中则不会,所以你如果用的是windows而且用的是python3,其实可以不用加这两句,不过实际中还是建议加上这两句。到这里我们就用了两种方式输Hello,World。
二、Python的工作过程
1、python 把代码读到内存 2、词法语法分析 3、放到编译器 ---》 生成字节码 4、执行字节码 ---》生成机器码 CPU执行
三、执行脚本传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
Python内部提供的模块
业内开源的模块
程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
#!/usr/bin/env python
# -*- coding: utf-8 -*- 4name
=
"wupeiqi"
上述代码声明了一个变量,变量名为: name,变量name的值为:"wupeiqi"
四、何为pyc文件
执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。
ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。(任何字节码通过反编译都可以得到代码)
五、注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """ or '''被注释内容 '''
以#
开头的语句是注释,还可以使用'''xxx'''来进行多行注释,注释是给人看的,解释器会忽略掉注释。
注释是用来解释程序的作用和功能,以后再实际的工作中要养成写注释的良好习惯。当语句以冒号:
结尾时,后面的语句要缩进。
六、变量
字符串的值是不能被修改的,他在内存里是连续的,如果想改的话必须在后面预留所以不支持修改!
字符串特性,一旦修改,重新创建
例子:
name1 = "szz"
name2 = name1
这里然后把name1 = "szz007"
name2 变不变呢?其实是不变的结合上面的规则来:字符串特性,一旦修改,重新创建
name1 = "szz007" name1的值变了,他会重新开辟一块内存空间!
注:
1 2 |
#!/usr/bin/env python
|
这里虽然他们的内存地址是相同的但是:他们的原理是各自在内存里开辟了一块内存空间(两个空间),python给他进行了优化而已。有个池的概念(把你最常用的值做一个指向)!
1 2 | #!/usr/bin/env python |
1 2 | name1 = "tianshuai" name2 = "tianshuai" name1 = [ 'tianshuai' , 'eric' , 'alex' ] 如果把name2 = name1 |
name1 这个集合增加一个,现在name2 变不变呢?会变的集合和字符串不同他的各个元素不是连续的,所以name2=name1指向后,name1增加 一个元素不会开辟一块新的空间,name2就会跟着改变。
七、输入、输出
python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。输出用print()
name=input('szz007')
print('name')
'szz007'
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
#-*- coding:uft-8-*- imporrt getss #将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码") #打印输入内容
print pwd
八、流程控制
if...else 和 if....elif...elif..........else
需求一、用户登陆验证
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 "用户名和密码错误" |
需求二、根据用户输入内容输出其权限
# 根据用户输入内容打印其权限 # alex --> 超级管理员
# eric --> 普通管理员
# tony,rain --> 业务主管
# 其他 --> 普通用户 name = raw_input('请输入用户名:') if name == "alex":
print "超级管理员"
elif name == "eric":
print "普通管理员"
elif name == "tony" or name == "rain":
print "业务主管"
else:
print "普通用户"
九、while循环
1、基本循环
while
条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行