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
# -*- coding: utf-8 -*- name1 = "wupeiqi"
name2 = "alex"

                             python学习 第一章   one day(补)-LMLPHP

这里虽然他们的内存地址是相同的但是:他们的原理是各自在内存里开辟了一块内存空间(两个空间),python给他进行了优化而已。有个池的概念(把你最常用的值做一个指向)!

1
2
#!/usr/bin/env python
# -*- coding: utf-8 -*-

name1 = "wupeiqi"
name2 = name1

python学习 第一章   one day(补)-LMLPHP

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 条件:

     
    # 循环体
 
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行
 
他的原理是:当条件为真的时候运行,当条件为假的时候停止!
05-04 04:42