zoukankan      html  css  js  c++  java
  • Python:初识Python(一)

    Python的由来

        Python这门语言是由C开发而来.

        C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

        其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

      

    Python的种类

        Python也分类,有Cpython、Jython、Ironpython、PyPy、Rubypython...

        大致分为三类:Cpython、PyPy、其他Python(Jython、Ironpython、Rubypython...)

        不管是哪种Python,实现过程都是先转换成字节码,然后在相应的虚拟机上运行。PyPy有点特殊,是直接将Python代码转换成机器码。而Cpython和其他Python是先转换成字节码再转换成机器码。

    Python入门

    一、第一句Python代码

    在E: /Python/day1/ 目录下创建 hello.py 文件,内容如下:

    print "hello,world"

    执行 hello.py 文件,直接在命令提示符中写:python  E: /Python/day1/hello.py

    就会呈现出:hello,world

    二、解释器

    上一步中执行 python E: /Python/day1/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器:#!/usr/bin/env python

    三、内容编码

    Python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,

    注:此处说的的是最少2个字节,可能更多

    UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

    所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),此时应该设置用utf-8编码来执行源代码:# -*- coding: utf-8 -*-

    四、注释

    当行注视:# 被注释内容

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

    五、变量

    1、声明变量

    变量定义的规则:

    变量名只能是 字母、数字或下划线的任意组合

    变量名的第一个字符不能是数字

    以下关键字不能声明为变量名:

    ['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']

    2、变量的赋值

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

    name1 = "zouqian"
    name2 = name1"

    六、输入

    设置用户登陆:

    示例一、

    #!/usr/bin/env python

    #-*- coding:utf-8 -*-

    name = raw_input("UserName:")

    print(name)

    设置输入密码,并且密码不可见,此时需要用getpass 模块中的 getpass方法:

    示例二:

    #!/usr/bin/env python

    #-*- coding:utf-8 -*-

    import getpass

    pwd = getpass.getpass("PassWord:")

    设置用户登录和输入密码时不可见

    示例三:

    #!usr/bin/env python

    #-*- coding:utf-8 -*- 

    import getpass

    i1 = raw_input("username:")
    #i2 = raw_input("password")
    i2 = getpass.getpass("password:")
    print(i1)
    print(i2)

    七、if...else... 如果...否则...

    if 条件:

        内容一

        内容二

    else:

        三

        四

    如果满足条件1==1-->yes

    如果不满足条件1==1-->no

    示例一:

    #!usr/bin/env python

    #-*- coding:utf-8 -*-

    if 1==1:

        print(yes)

    else:

        print(no)

    示例二:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    name = raw_input("Username:")
    password = raw_input("password:")
    if name == "zouqian" and password == "123456":
        print("yes")
    else:
        print("no")

     

    八、流程控制和缩进

    示例一:用户登录验证

    #!/usr/bin/env python

    # -*- coding: encoding -*-

    # 提示输入用户名和密码

    # 验证用户名和密码

    #     如果错误,则输出用户名或密码错误

    #     如果成功,则输出 欢迎,XXX!

     
     
    import getpass
    name = raw_input('请输入用户名:')
    pwd = getpass.getpass('请输入密码:')
    if name == "zouqian" and pwd == "123456":
        print "欢迎,zouqian!"
    else:
        print "用户名和密码错误"
     
    示例二:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    inp = raw_input(">>>")
    if inp == "1":
        print("111")
    elif inp == "2":
        print("222")
    elif inp == "3":
        print("333")
    else:
        print("...")

     

    九、while循环

    1、基本循环

    while 条件:

        #循环条件

        #如果条件为真,那么循环继续执行

        #如果条件为假,那么循环不再执行

    2、break

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

    示例:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    kaishi = 1
    while True:
        print(kaishi)
        if kaishi == 10:
            break
    kaishi =kaishi + 1

    3、continue

    continue用于跳出本次循环,继续下一次循环

    示例:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    start = 1
    while True:
        if start == 7:
            start += 1
            continue
        print(start)
        if start == 10:
            break
        start += 1

    示例:使用while循环输入 1 2 3 4 5 6     8 9 10

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    #a.实现1-10的循环
    #b.实现1-7的循环,不显示7,直接显示8之后的循环
    num = 1
    while True:
        if num == 7:
            num += 1
            continue
        print(num)
        if num == 10:
            break
        num += 1
    print("end")

    示例:求1-100的所有数的和

    #!/usr/bin/env python

    #-*- coding:utf-8 -*-
    #设定纪录结果的变量是reslut,设置为零才不会影响任何数字累计的结果
    result = 0
    #题目要求计算1-100的求和,所以设置开始值为1
    start = 1
    while True:
        result = result + start
        start = start + 1
        if start > 100:
            break
    print(result)

    示例:输出 1-100 内的所有奇数

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    start = 1
    while True:
        print(start)
        start = start + 2
        if start > 100:
            break

    示例:输出 1-100 内的所有偶数

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    #题目要求输入1-100所有偶数,所以设定开始值为1
    #判断为偶数的标准是除以2余数为0

    num = 1
    while True:
        if num %2 ==0:
            print(num)
        if num > 100:
            break
        num = num + 1

    示例:求1-2+3-4+5 ... 99的所有数的和

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # 题目:计算1-2+3-4+5...+99
     4 # 看出奇数相加,偶数相减再求和
     5 # %2 == 0就是偶数,%2 == 1就是奇数
     6 
     7 result = 0  # 用于记录计算结果
     8 num = 1  # 用于记录数字,从1开始
     9 while num < 100:  # 1-99
    10     #按照公式计算
    11     if num % 2 == 1:  # 判断是否为奇数
    12         result = result + num  # 记录奇数相加的结果
    13     else:  # 否则为偶数
    14         result = result - num  # 记录偶数相减的结果
    15     #生成下一个数字
    16     num = num + 1  # 数字以+1递增
    17 print(result)  # 输出计算结果


    示例:用户登陆(三次机会重试)
     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 i = 0
     4 while i < 3: #实现循环3次
     5     name = raw_input("username:")
     6     pwd = raw_input("password:")
     7     if name == "zouqian" and pwd == "123": #如果用户输入正确
     8         print("yes")
     9         break #输入正确后结束输入
    10     else: #用户输入错误
    11         print("no")
    12     i = i + 1
    
    
    
     
  • 相关阅读:
    iconv 文件编码相互转换
    MySQL 字符编码
    MySQL there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause同时创建多个更新当前时间戳字段 解决方法
    PHP 输出日志到文件 DEMO
    Nginx http -> https 跳转后 POST 丢失
    SSH SCP 远程密钥登录配置和服务器间的文件传输
    Mac 安装 7zip
    git pull There is no tracking information for the current branch.
    MacOS 安装配置 Laravel
    Mac OS 安装 MySQL5.7
  • 原文地址:https://www.cnblogs.com/0820-zq/p/5440648.html
Copyright © 2011-2022 走看看