zoukankan      html  css  js  c++  java
  • python基础之初识python

    Python的发展史

      1989年圣诞节期间,吉多·范罗苏姆为了打发时间,开发了python这门语言。真他妈牛逼。

      Python崇尚优美、清晰、简单,是一门优秀并广泛使用的语言。2007年在TIOBE榜上已经排到了第四名,被越来越多的人认可并使用。

      

      目前Python主要应用领域:web开发、云计算、人工智能、系统运维、数据分析、图像处理等

      随着时代的发展,Python不断地更新升级,在2008年年末相继出现了Python2和Python3两个大的版本,两大版本在大环境下的区别为:

      Python2:1.源码都含有PHP、Java、C等语言的规范陋习。

          2.重复代码特别多。

      Python3:源码规范、清晰、简单,符合Python的宗旨。

    Python的划分

      解释型:当程序运行时,将代码从上至下,一句一句解释成二进制,然后在执行。

             典型的有PHP,python。优点是开发速度快,可以跨平台。缺点是执行效率慢。

      编译型:将源码一次性转化成二进制文件,然后在执行。

             典型的有C语言,C++。优点是执行效率快。缺点:开发速度慢,不能跨平台。

    Python的优缺点和种类

    优点:1.Python的定位是“优雅”、“明确”、“简单”,所以python程序看上去简单易懂,初学者学python,容易入门,而且将来深入下去,可以编写那些非常复杂   的程序。

      2.开发效率非常高。Python有非常强大的第三方库,你想通过计算机实现的很多基本功能,python官方库都有相应的模块支持,直接下载调用后,在基础库的基础上再进行开发,大大降低了开发周期,避免重复造轮子。

      3.高级语言——当你用python语言编写程序的时候,你无须考虑如何诸如如何管理你的程序使用的内存一类底层的细节。

      4.可移植性——由于它的开源本质,Python已经被移植到许多平台(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有python程序无需修改就几乎可以在市场上所有的平台上运行。

      5.可扩展性——如果你需要你的一段关键代码运行的更快或者希望某些算法不公开,你可以把你的部分程序用C或者C++编写,然后在你的python程序中使用它们。

      6.可嵌入性——你可以把python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

    缺点:1.速度慢,Python的运行速度相比于C语言确实慢很多,跟JAVA相比也要慢,因此这也是许多大牛不屑于使用它的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法感知到的,必须借助测试工具才能体现出来。比如你用C运行一个程序花了0.01秒,用python花了0.1秒,C语言的速度是python的10倍,但是你是无法直接通过肉眼感知的(正常人感知时间的最小单位是0.15~0.4s),所以在大多数情况下python已经完全可以满足你对程序速度的要求,除非你要写对速度要求非常高的搜索引擎等,这种情况下建议用C语言去写。

      2.代码不能加密。因为python是解释型语言,它的源码都是以名文形式存放的。如果你的项目要求源码必须加密,一开始就不要用python来实现。

      3.线程不能利用多CPU问题,这是python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,python的线程是操作系统的原生线程。在linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行,一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。

    Python的种类

      Python的解释器有很多,比如:CPython,IPython,PyPy,Jython等,使用最广泛的是CPython。如果要和其他语言交互,最好的办法不是用Jython等这些解释器,而是通过网络调用来交互,确保各程序之间的独立性。

    Python版本的第二个区别

      Python3:y英文,中文没有问题。默认编码:UTF-8

      Python2:英文没问题,中文报错。默认编码:ASCII

          显示中文:首行:#  -*- encoding:utf-8 -*-

    变量

      变量:将运算的中间结果暂存到内存,以便后续程序调用。

      变量的规则:

      1、变量是由数字,字母,下划线,任意组合。

       2、变量不能以数字开头。

       3、变量不能是python的关键字。

    Python的关键字有['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']

       4、变量可描述性。

       5、变量不能是中文。

       6、变量不能过长。

    #驼峰体
    
    AgeOfOldboy = 56
    
    NumberOfStudents = 80
    
    #下划线
    
    age_of_oldboy = 56
    
    number_of_students = 80

    常量

      在python中没有专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量,常量轻易不要变。比如ID、π

    注释

      单行注释:#被注释内容

      多行注释:'''被注释内容'''或者"""被注释内容"""

    初识基础数据类型

      1.数字:int 

         数字可以进行加减乘除运算

      2.字符串:str

      在Python中,凡是用引号引起来的,全是字符串。字符串只能进行相加和相乘运算,而且相加或相乘的双方都必须是字符串,不能是数字和其他类型。

      3.布尔值:bool

       布尔类型很简单,就两个值,一个True(真),一个False(假),主要用于逻辑判断。

    用户交互input

      input接收的所有输入默认都是字符串格式。

        例如:查看数据类型的方法:type()

          

    name = input("Name:")
    age = input("Age:")
    print(type(age))
    

          执行输出:Name:某某某

            Age:22

            <class  'str'>       输出结果为str,而不是int。

        解决的方法就是把str转化成int:条件就是全是数字组成的字符串。

    age = int(input("Age:"))
    print(type(age))

    PS:input在Python2和Python3中的区别(python2:raw_input                python3:input)

    if条件语句

      if条件语句有三种方式:

      1.   if  条件:

            满足条件后执行此处代码

      2.  if   条件:

            满足条件后执行此处代码

           else:

            条件不满足执行此处代码

      3.  if   条件:

            满足此处条件执行代码

           elif   条件:

           上述条件不满足执行此处代码

          elif   条件:

           上述条件不满足执行此处代码

          elif   .....

          else:

           上述所有条件不满足执行此处代码

    score = int(input("输入分数:"))
    
    if score > 100:
        print("我擦,最高分才100...")
    elif score >= 90:
        print("A")
    elif score >= 80:
        print("B")
    elif score >= 60:
        print("C")
    elif score >= 40:
        print("D")
    else:
        print("太笨了...E")

     PS:缩进(强制缩进)

      Python的缩进有以下几个原则:

      顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进

      同一级别的代码,缩进必须一致

      官方建议缩进用四个空格(Tab键)

    while循环语句

      1.基本循环  

        while   条件:

          结果

    while True:
        print("我们不一样")
        print("我们都一样")
        print("有啥不一样")

      2.循环中止

        a:改变条件

        b:break或者continue

          两者区别在于continue是结束本次循环,继续执行下一次循环;break则是完全中止循环。

    #输出1、2、3、4、5、6、8、9、10
    count = 1
    while count <= 10:
        if count == 7:
            count += 1
            continue
        else:
            print(count)
        count += 1
    start = 1
    while start <100:
        if start  ==13:
          print("这代码写的像2B")
          break
      else:
          print(start)
          start += 1

    例如:求1-2+3-4+5......-98+99-100的和

    count = 1
    sum = 0
    while count <= 100:
        if count % 2 == 1:
            sum += count
        else:
            sum -=count
        count += 1
    print(sum)

     3.while...else

    例如:用户登录(三次输入机会)

    count = 1
    while count <= 3:
        username = input("请输入用户名:")
        password = input("请输入密码:")
        if username == "你瞅啥" and password == "就瞅你":
            print("再瞅试试,恭喜你登录成功")
            break
        else :
            print("用户名和密码输入错误,请重新输入")
            count += 1
            if count == 4:
                answer = input("就瞅你咋地,继续登录请输入'y'")
                if answer =="y":
                    count = 1
    else:
        print("你要不要脸")


    作者:赵盼盼
    出处:https://www.cnblogs.com/zhaopanpan/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    ⇩ 关注或点个喜欢就行 ^_^

    关注我
  • 相关阅读:
    idea添加类注释和方法注释
    蓝桥杯ALGO-1,区间k大数查询
    personalblog
    ul+li水平居中的几种方法
    前端ps部分
    帝国cms-tab
    帝国cms判断某一字段是否为空
    帝国cms建站总结-(分页)
    Js获取验证码倒计时
    前端截取字符串:JS截取字符串之substring、substr和slice详解
  • 原文地址:https://www.cnblogs.com/zhaopanpan/p/8318468.html
Copyright © 2011-2022 走看看