• Python学习


    目录:

    一. Python的安装

    二. Hello World程序

    三. 变量

    四. 注释

    五. 用户输入

    六. 流控语句之 if 判断

    七. 流控语句之 for 循环

    八. 流控语句之 while 循环

    一.  Python的安装

    windows

    1. 通过官网下载Python安装包: https://www.python.org/downloads/
    2. 安装下载的包, 一路next. 安装过程中可自定义安装路径等...
    3. 为计算机添加安装目录到环境变量, 以 安装路径 -> "
    C:Python36" 为例: 将"C:Python36in"路径加入到系统环境变量path中.
    4. 测试, 打开CMD命令行输入 python 命令, 返回如下信息即成功了

    C:UsersAdministrator>python
    Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AM
    D64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    如何在Winodws系统中同时安装Python2与Python3环境

    1. 下载并安装 Python 2.x 和 Python 3.x
    2. 找到 Python 2.x 的安装目录 C:Python2x, 将 python.exe和pythonw.exe 分别重命名为 python2.exe 和 pythonw2.exe
    3. 删除 C:Python2xScriptspip.exe
    4. 找到 Python 3.x 的安装目录 C:Python3x, 将 python.exe和pythonw.exe 分别重命名为 python3.exe 和 pythonw3.exe
    5. 删除 C:Python3xScriptspip.exe
    6. 右键我的电脑->选择属性->高级系统设置->环境变量, 在PATH系统变量中添加路径 C:Python2x;C:Python3x (中间分号隔开)
    7. 在命令行中,可以通过 python2 和 python3 分别运行Python 2.x和Python3.x 进入各自的命令行
    SP: 这里删除了各自版本的pip.exe, 因为默认有pip2.exe与pip3.exe在各自的Scripts, 在给 Python2 与 Python3 安装模块时各自调用自己版本的pip命令进行安装即可 

    linux、Mac

    1. 通过官网下载Python安装包: https://www.python.org/downloads/ 选择适用于Unix/Linux的源码压缩包
    2. 解压压缩包
    3. 如果你需要自定义一些选项修改Modules
    /Setup
    4. 执行 .
    /configure 脚本
    5.
    make && make install
    6. 执行以上操作后, Python会安装在 /usr/local/bin 目录中, Python库安装在/usr/local/lib/pythonXX, XX为你使用的Python的版本号

    二. Hello World程序

    在linux 下创建一个文件叫hello.py,并输入

    1 echo "print("Hello World!")" > hello.py

    然后执行命令:python hello.py ,输出

    1 python hello.py
    2 
    3 Hello World!

    指定解释器

    上一步中执行 python hello.py 时, 明确的指出 hello.py 脚本由 python 解释器来执行.

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

    1 cat hello.py
    2 
    3 #!/usr/bin/env python
    4 print "hello,world"

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

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

    在交互器中执行 

    除了把程序写在文件里,还可以直接调用python自带的交互器运行代码,

    1 C:UsersAdministrator>python3
    2 Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AM
    3 D64)] on win32
    4 Type "help", "copyright", "credits" or "license" for more information.
    5 >>>print("Hello World!")
    6 Hello World!
    7 >>>

    三. 变量

    变量定义的规则:

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

    上述代码声明了一个变量, 变量名为: name, 变量name的值为: "Kys", 他们的关系如下图

    这时候如果执行下面代码, 猜猜结果是什么?

    1 name2 = name
    2 print(name, name2)
    3 name = "Zy"
    4 print(name, name2)
    1 Kys Kys
    2 Zy Kys
    查看结果

     咦, name2 不是等价于 name 么, 为什么 name 的值改变后 name2 没有变化呢??

    下图揭晓答案

    所以说, 这个时候name指向的是Zy的内存地址, 而name2指向的还是Kys的内存地址.

    多个变量的赋值

    Python允许你同时为多个变量赋值. 例如:

    1 a = b = c = 1  # 创建一个整型对象, 值为1, 三个变量被分配到相同的内存空间上

    还支持为多个变量指定多个值. 例如: 

    1 a, b, c = 1, 2, "john"  # 两个整型对象1和2的分配给变量 a 和 b, 字符串对象 "john" 分配给变量 c

    变量的值交换

    正常情况下, 如果我们想交换两个变量的值, 操作如下: 

     1 a = "hello"
     2 b = "world"
     3 print("a: %s
    b: %s" % (a, b))
     4 # 交换变量 a 与 b 的值
     5 # 需要创建一个临时变量来保存 a b 其中一个变量的值
     6 temp = a
     7 a = b
     8 b = temp
     9 # 这样就完成了变量的交换
    10 print("a: %s
    b: %s" % (a, b))
    11 # 运行结果如下:
    12 a: hello
    13 b: world
    14 a: world
    15
    b: hello

    在python中, 提供了更简便的写法, 可以让你不用创建临时变量就可以交换两个变量的值.

    a = "hello"
    b = "world"
    print("a: %s
    b:%s" % (a, b))
    a, b = b, a  # 这里等价于上面的 temp = a ; a = b; b = temp
    print("a: %s
    b:%s" % (a, b))
    # 运行结果如下: 
    a: hello
    b: world
    a: world
    b: hello

    四. 注释

    • 单行注视: # 被注释内容
      • 可独占一行
      • 可跟在代码后面
    1 # 这是独占一行的注释
    2 print("hello world!")  # 这是跟在代码后的注释
    3 
    4 # SP: 这里需要注意, 根据PEP8的规定, 
    5 # 独占一行的注释格式为: "#" + "一个空格" + "注释内容"
    6 # 跟在代码后的注释格式: "两个空格" + "#" + "一个空格" + "注释内容"
    7 # 当然你可以不遵循PEP8, 但个人建议, 从学习之处严格要求自己的代码规范, 是个很好的开始.
    • 多行注释: """ 被注释内容 """
    # 三个双引号, 或三个单引号都可以作为多行注释使用.
    '''
    注释内容
    '''
    print("hello, world")
    """
    注释内容
    """
    print("hello, world")
    # SP: 建议使用双引号. 

    五. 用户输入

    1 #!/usr/bin/env python
    2 
    3 #name = raw_input("What is your name?")  # python 2.x 写法
    4 name = input("What is your name?")  # python 3.x 写法
    5 print("Hello " + name )

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

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

    六. 流控语句之 if 判断

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

    可以通过下图来简单了解条件语句的执行过程:

    Python程序语言指定任何非0和非空(None)值为True, 0 或者 None为False。

    Python 编程中 if 语句用于控制程序的执行,基本形式为:

    1 if 判断条件:
    2     执行语句……
    3 else4     执行语句……

    其中"判断条件"成立时, 则执行后面的语句, 而执行内容可以多行, 以缩进来区分表示同一范围.

    else 为可选语句, 当需要在条件不成立时执行内容则可以执行相关语句, 具体例子如下:

    1 # Python3 
    2 
    3 user_input = input("Please enter 0 or 1
    >>:  ").strip()
    4 
    5 if user_input == "0":
    6     print("you input num is 0")
    7 else:
    8     print("you input num is 1")

    if 语句的判断条件可以用 >(大于), <(小于), ==(等于), >=(大于等于), <=(小于等于), !=(不等于) 等来表示期关系.

    当判断条件为多个值时,可以使用以下形式:

     1 # Python3 
     2 
     3 user_input = input("Please enter 0 - 5
    >>:  ").strip()
     4 
     5 if user_input == "0":
     6     print("you input num is 0")
     7 elif user_input == "1":
     8     print("you input num is 1")
     9 elif user_input == "2":
    10     print("you input num is 2")
    11 else:
    12     print("you input num not in 0, 1, 2")

    由于 python 并不支持 switch 语句, 所以多个条件判断, 只能用 elif 来实现, 如果判断需要多个条件需同时判断时, 可以使用 or(或), 表示两个条件有一个成立时判断条件成功, 使用 and(与), 表示只有两个条件同时成立的情况下, 判断条件才成功.

     1 # Python3
     2 
     3 # 例:if语句多个条件
     4 
     5 num = 9
     6 if num >= 0 and num <= 10:    # 判断值是否在0~10之间
     7     print('hello')
     8 >>> hello        # 输出结果
     9 
    10 num = 10
    11 if num < 0 or num > 10:    # 判断值是否在小于0或大于10
    12     print('hello')
    13 else:
    14     print('undefine')
    15 >>> undefine        # 输出结果
    16 
    17 num = 8
    18 # 判断值是否在0-5或者10-15之间
    19 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    20     print('hello')
    21 else:
    22     print('undefine')
    23 >>> undefine        # 输出结果

    三元表达式

    一些语言(如Java)的三元表达式形如:

    判定条件?为真时的结果:为假时的结果

    Python的三元表达式有如下几种书写方法:

     1 a = ''
     2 b = 'True'
     3 c = 'False'
     4   
     5 # 方法一:为真时的结果 if 判定条件 else 为假时的结果  
     6 d = b if a else c  
     7 print('方法一输出结果:' + d)  
     8   
     9 # 方法二:判定条件 and 为真时的结果 or 为假时的结果  
    10 d = a and b or c  
    11 print('方法二输出结果:' + d)  
    12   
    13 # 以上两种方法方法等同于if ... else ...  
    14 if a:  
    15     d = b  
    16 else:  
    17     d = c  
    18 print('if语句的输出结果:' + d)  
    19 
    20 # 执行结果
    21 方法一输出结果:False
    22 方法二输出结果:False
    23 if语句的输出结果:False

    说明:

    判断条件:a为空串,所以判断条件为假

    当判断条件为真时的结果:d = b

    当判断条件为假时的结果:d = c

    七. 流控语句之 for 循环

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

    语法:

    for循环的语法格式如下:

    1 for iterating_var in sequence:
    2    statements(s)

    实例: 

     1 #Python3
     2 
     3 # 第一个实例
     4 for letter in 'Python':
     5    print('当前字母 :', letter)
     6  
     7 # 第二个实例
     8 fruits = ['banana', 'apple',  'mango']
     9 for fruit in fruits:
    10    print('当前水果 :', fruit)
    11 
    12 print("Good bye!")
     1 当前字母 : P
     2 当前字母 : y
     3 当前字母 : t
     4 当前字母 : h
     5 当前字母 : o
     6 当前字母 : n
     7 当前水果 : banana
     8 当前水果 : apple
     9 当前水果 : mango
    10 Good bye!
    执行结果

    八. 流控语句之 while 循环

    Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

    1 while 判断条件:
    2     执行语句……

    执行语句可以是单个语句或语句块. 判断条件可以是任何表达式, 任何非零, 或非空(None)的值均为True, 当判断条件False时, 循环结束.

    如果条件判断语句永远为 true, 循环将会无限的执行下去

    PS: 不要在你的程序中出现无限循环...

    执行流程图如下:

    Gif 演示 Python while 语句执行过程

    循环控制语句, break 与 continue

    循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

    控制语句描述
    break 语句 在语句块执行过程中终止循环,并且跳出整个循环
    continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
    pass 语句 pass是空语句,是为了保持程序结构的完整性。

    循环使用 else 语句

    在 python 中, for … else 表示这样的意思, for 中的语句和普通的没有区别, else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行, while … else 也是一样

     1 # Python3
     2  
     3 for num in range(10,20):  # 迭代 10 到 20 之间的数字
     4     for i in range(2,num):  # 根据因子迭代
     5         if num%i == 0:  # 确定第一个因子
     6             j=num/i  # 计算第二个因子
     7         print('%d 等于 %d * %d' % (num,i,j))
     8         break  # 跳出当前循环
     9     else:  # 循环的 else 部分
    10         print(num, '是一个质数')
     1 10 等于 2 * 5
     2 11 等于 2 * 5
     3 12 等于 2 * 6
     4 13 等于 2 * 6
     5 14 等于 2 * 7
     6 15 等于 2 * 7
     7 16 等于 2 * 8
     8 17 等于 2 * 8
     9 18 等于 2 * 9
    10 19 等于 2 * 9
    执行结果
  • 相关阅读:
    计算机病毒的认识
    计算机病毒的认识
    围棋知多少
    围棋知多少
    工业相机基础知识(一)
    辨异 —— 逻辑之辨、人文社科观念
    辨异 —— 逻辑之辨、人文社科观念
    telnet 的使用(ping 与 telnet)
    HDU 2437 Jerboas (剪枝搜索)
    设计模式
  • 原文地址:https://www.cnblogs.com/kys1230/p/6417083.html
Copyright © 2020-2023  润新知