zoukankan      html  css  js  c++  java
  • 一、Python简介

    Python简介

    python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

    最新的TIOBE排行榜,Python赶超C#占据第四, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

     

    Python是一门什么样的语言?

    python是一门动态解释性的强类型定义语言

    Python语言缺点

    第一个缺点就是运行速度慢。(相对而言。)
    第二个缺点就是代码不能加密。(编译型语言只需要把编译后的机器码发布出去。要从机器码反推出源代码是不可能的。)

    Python版本

    本人才疏学浅不敢妄自菲薄,引用python的声明。

    Python 科学栈中的所有主要项目现在都支持 Python 3.x 和 Python 2.7,很多项目已经支持这两种版本很多年。尽管我们不断开发用于高效维护兼容性的工具和技术,但是在大量代码开发中这仍然是虽然微小但经常出现的冲突。

    我们希望充分使用 Python 3,目前接受交叉兼容代码以实现顺利过渡,但是我们不打算无限期维护该兼容性。尽管从 Python 2 到 Python 3 的过渡不像我们希望的那么快,但是它的确发生了,越来越多的人使用、教授和推荐 Python 3。

    由于很多人仍然使用 Python 2,Python 语言的开发者将 Python 2.7 的支持期扩展为 2015 到 2020。我们认为这 5 年足够用户从 Python 2 中迁移出来,我们的项目计划最迟在 2020 年底停止支持 Python 2。之后,我们能够简化代码,充分利用 Python 语言和标准库当前版本的很多新功能。 
    此外,2020 年之前,我们的一些项目将减少对 Python 2.7 的支持,只修复 bug,新功能版本则使用 Python 3。这和 Python 语言本身的支持相匹配,Python 2.7 版本仅包括修复 bug 和安全提升。

    第三方可能对我们的旧 Python 版本项目提供付费支持,时间长于我们对旧 Python 版本的支持。我们不会阻止这类行为,这是免费、开源软件的核心原则,因此这种行为是可行的。但是,如果你想要免费的第一方支持,请开始迁移到 Python 3 吧。

    Python解释器

    当我们编写python代码时,我们得到的是一个包含python代码以.py结尾的文本文件。要运行代码,就需要python解释器去执行.py文件。

    Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

     

    Python安装

    下载地址

    https://www.python.org/downloads/

    环境变量

    win10环境变量: 计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量-->Path

    Ps:

      注意添加 python\Scripts 路径,否则pip命令无法使用。

      多版本添加默认的版本路径,备用版本先改解释器名称再添加。如python.exe --> python2.exe,pip.exe-->pip2.exe

    第一个程序

    1 C:\Users\root>python
    2 Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    3 Type "help", "copyright", "credits" or "license" for more information.
    4 >>> print('hello world')
    5 hello world
    hello world

    编码

    python2.x 默认使用ascii码。文件开头需添加如下代码。python3.x解释器默认编码utf-8

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

    ASCII

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

    Unicode

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

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

    UTF-8

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

    gbk

    对亚洲国家的文字做的对应关系

    Ps:

      utf-8 使用3个字节来表示一个中文。gbk用俩个字节表示。

      一个字节是8位计算机码。如:00000000

    变量

    变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。

    格式:变量名 = 值  

    1 name = 'haibin'
    2 age = 13

    命名规则:

    1.   数字、字母、下划线(_)组成.
    2.   不能数字开头。
    3.   不能使用Python关键字。

      python关键字

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

    Ps:

      别用汉字当变量。别用拼音当变量(有道词典了解一下)。见名知意。

      用小写。(大写为全局变量)

      变量、函数用下划线。类用驼峰。

     

    if语句

    格式

    1 if 条件:
    2     pass
    3 elif 条件:
    4     pass 
    5 else:
    6     pass

    Ps:

      elif 和 else非必须,可只有if。

    实例

    1 age = 20
    2 
    3 if age > 18:
    4     print("age > 18")
    5 elif age > 13:
    6     print("age > 13")
    7 else:
    8     print("age is" + str(age))

    结果为:

    age > 18

    Ps:

      if 语句自上而下匹配条件,最多匹配一次。可以匹配不上。

    while

    格式

    while 条件:
        pass 

    Ps:

      while True 传说中的死循环,慎用。一、条件不给True。二、满足某种条件内部破坏循环。

    实例

    while True:
        print("God is girl.")

    for

    格式

    
    
    for i in 可迭代对象:
    print("God is girl.")

    Ps:

      必须为可迭代对象,否则报错。关于可迭代对象,后面详解。

     

    示例

    for i in [1, 5, 7, 9]:
        print(i)

    continue和break

        continue  # 跳出当前这一次循环
        break     # 跳出当前这个循环

    示例

    for i in [1, 5, 7, 9]:
        if i == 7:
            continue
        if i == 9:
            break
        print(i)

    Ps:

      需要注意的是,这里个参数只对循环语句即(while和for生效。)很多时候会遇到好几个语句、循环嵌套的情况。当运行结果与预期不符的时候用print打印排查。

    练习题

    求1-100的所有数的和(假装没有sum函数)

    count = 1
    sum = 0
    while count < 101:
        sum += count
        count += 1
    print(sum)
    sum = 0
    for i in range(1, 101):
        sum += i
    print(sum)

    输出 1-100 内的所有奇数

    count = 1
    while count < 101:
        if count % 2 == 1:
            print(count)
        count += 1
    for i in range(1, 101):
        if i % 2 == 1:
            print(i)

    输出 1-100 内的所有偶数

    for i in range(1, 101):
        if i % 2 == 0:
            print(i)
    count = 1
    while count < 101:
        if count % 2 == 0:
            print(count)
        count += 1

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

    sum = 0
    for i in range(1, 100):
        if i % 2 == 0:
            sum -= i
        else:
            sum += i
    print(sum)
    count = 1
    sum = 0
    while count < 100:
        if count % 2 == 0:
            sum -= count
        else:
            sum += count
        count += 1
    print(sum)

    用户登录(三次错误机会)

     1 count = 1
     2 while True:
     3     user_name = input("UserName:")
     4     passwd = input("Password:")
     5     flag = False
     6     for item in user_list:
     7         if item['username'] == user_name and item['password'] == passwd:
     8             print("Log in successfully.")
     9             flag = True
    10             break
    11     if flag:
    12         break
    13     else:
    14         print("The input is invalid.")
    15     if count < 3:
    16         pass
    17     else:
    18         print("You've tried it too many times.")
    19         break
    20     count += 1
    View Code
     1 user_list = [
     2             {'username':'root', 'password':'123' },
     3             {'username':'ubuntu', 'password':'123'},
     4             {'username':'admin', 'password':'123'}
     5             ]
     6 count = 1
     7 while True:
     8     user_name = input("UserName:")
     9     passwd = input("Password:")
    10     flag = False
    11     for item in user_list:
    12         if item['username'] == user_name and item["password"] == passwd:
    13             flag = True
    14             break
    15     if flag:
    16         print("Log in successfully.")
    17         break
    18     else:
    19         print("The input is invalid.")
    20         count += 1
    21     if count == 4:
    22         print("You've tried it too many times.")
    23         break
    View Code
     1 user_list = [
     2             {'username':'root', 'password':'123' },
     3             {'username':'ubuntu', 'password':'123'},
     4             {'username':'admin', 'password':'123'}
     5             ]
     6 count = 1
     7 while True:
     8     user_name = input("UserName:")
     9     passwd = input("Password:")
    10     flag = False
    11     user_info = {'username':user_name, 'password':passwd}
    12     if user_info in user_list:
    13         print("Log in successfully.")
    14         break
    15     else:
    16         print("The input is invalid.")
    17         count += 1
    18     if count == 4:
    19         print("You've tried it too many times.")
    20         break
    View Code
  • 相关阅读:
    第几天?
    农历02__资料
    农历01
    VC6_预编译头
    QWebEngine_C++_交互
    Qt570_CentOS64x64_02
    Qt570_CentOS64x64_01
    QWebEngineView_CssVariables
    Windows__书
    Win7SDK
  • 原文地址:https://www.cnblogs.com/kongzhou/p/9004671.html
Copyright © 2011-2022 走看看