• Python基础(Day1)


    一、Python的简介

     1.Python的诞生

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

       2.目前Python主要应用领域:

    • 云计算: 云计算最火的语言, 典型应用OpenStack
    • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
    • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    • 系统运维: 运维人员必备语言
    • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
    • 图形GUI: PyQT, WxPython,TkInter3

       3.Python是什么编程语言

         编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。

         解释型:程序运行时将代码一行一行的解释转换成二进制。

         优点:开发效率高、排错快、可以跨平台。

         缺点:每次运行的时候都要解释一遍,执行效率相对慢。

         编译型:将代码一次性编译成机器语言,并保存成二进制再运行。

         优点:执行效率高。

         缺点:排错慢、开发效率低、不能跨平台。

      4.Python的优缺点

        优点:

    1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
    2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
    3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
    4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
    5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
    6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

         缺点:

           1.运行速度慢。

           2.代码不能加密。

           3.线程不能利用多CPU。

     5.Python的种类

        CPython(用C语言开发的解释器),JPython(运行在Java平台上的解释器)、IPython(基于CPython之上的一个交互解释器)、PyPy(对python代码进行动态编译,目标是执行速度)、IronPython(运行在微软.Net平台上的Python解释器)。

    6.Python2x与Python3x的区别

    •  Python2x默认编码ascii码,不能识别中文;Python3x默认编码是unicode可以识别中文。
    •  Python2x的输入:raw_input(); Python3x的输入:input()。
    •  Python2x的输出:print可以不加(); Python3x的输出:print()。
    •  Python2x除法当两个整型相除(除数不能为0),值是个整型; Python3x两个整型相除值可以是浮点型。

      

    二、Python基础初识

      1、变量

          变量是把程序运行的中间结果临时存在内存里,以便后续的代码调用。

          变量的命名规则:

    • 变量名只能是数字、字母和下划线。
    • 变量名不能以数字开头。
    • 变量名要有可描述性。
    • 变量名不能是python的关键字。
    • 变量名不能是中文、变量名不能太长。
    • 官方推荐的两种形式:驼峰体和下划线
    • #驼峰体
      AgeOfOldboy = 56
      NumberOfStudents = 80
      #下划线
      age_of_oldboy = 56
      number_of_students = 80

        变量的赋值:等号右边的值赋给等号左边的变量名,python是解释型语言,代码一行一行的执行,后面的变量会覆盖前面的。

     age1 =12
     age2=age1
     age3=age2
     age2=6
     print(age1,age2,age3)

    执行结果:12 6 12

      2、常量

         常量指不变的量或在程序运行过程中不会改变的量,在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。

    
    
    AGE_OF_OLDBOY = 56
    
    

      3、注释

         单行注释:#

         多行注释:""" """或‘’‘ ’‘’

      4、程序交互 input

    name=input('请输入你的名字:')
    age=input('请输入你的年龄:')
    hobby=input('请输入你的爱好:')
    print(name,age,hobby)

     #input输出的数据类型都是str

    5、基础数据类型

    • int(整型)long(长整型)#在Python3里不再有long类型了,全都是int
    • str(字符串)#加了引号的字符都被认为是字符串,多行字符串用多引号
    • bool(布尔值:False、True)
    • list(列表)
    • tuple(元组)
    • dict(字典)
    • set(集合)

       查看数据类型使用type()

    n1='guo'
    n2=True
    n3='False'
    print(type(n1))
    print(type(n2))
    print(type(n3))

         执行结果:

         <class 'str'>
         <class 'bool'>
         <class 'str'>

    6、格式化输出(%占位符、s-str字符串、d-digit数字)

       第一种:

    name=input('请输入你的姓名:')
    age=input('请输入你的年龄:')
    hobby=input('请输入你的爱好:')
    msg='我叫%s,今年%d岁,爱好%s'%(name,int(age),hobby)
    print(msg)
    执行结果:

      请输入你的姓名:圆圆
      请输入你的年龄:18
      请输入你的爱好:睡觉
      我叫圆圆,今年18岁,爱好睡觉

       第二种:

    dic={'name':'圆圆','age':18,'hobby':'买买买'}
    msg='我叫%(name)s,今年%(age)d岁,爱好%(hobby)s'% dic
    print(msg)
    
    执行结果:
    我叫圆圆,今年18岁,爱好买买买

       第三种:在格式化输出中单纯的想要显示%,用%%解决。

    name=input('请输入你的姓名:')
    age=input('请输入你的年龄:')
    msg='我叫%s,今年%d岁,学习进度为10%%'%(name,int(age))
    print(msg)
    
    执行结果:
    请输入你的姓名:yuanyuan
    请输入你的年龄:18
    我叫yuanyuan,今年18岁,学习进度为10%

     7、逻辑运算符 (and、or、not)

          数据类型的转换:int---->bool   0为False,非0为True。

                                       bool---->int   False为0,True为1。

        第一种:前后都是比较运算,优先级()>not>and>or,同一优先级从左至右依次计算。 

    print(1>2 and 3<4 and 3>2 or 2<3 )
    执行结果:
    True

       第二种:前后都是数值运算

       优先级:x or y,如果x为True,则返回x,否则返回y。

                     x and y,如果x为True,则返回y,否则返回x。

    print(1 or 3)
    print(1 and 3)
    执行结果:
    1
    3

      第三种:混合运算

    print(1>2 or 3 and 4)
    print(2 or 2>3 and 4)
    执行结果:
    4
    2

     8、in、not in  判断子元素是否在原字符串(字典,列表,集合)中,从左到右依次检测

    s='老男孩AlexWusir'
    print('老男孩' in s)
    执行结果:
    True
    print('老男孩Wusir' in s)
    执行结果:
    False

      9、if 语句

       1)第一种结构

    if 条件:
        结果

       2)第二种结构 

    if 条件:
        结果
    else:
        结果

       3)第三种结构

    if 条件1:
        结果1
    elif 条件2:
        结果2
    elif 条件3
        结果3

    例:

    choice=input('请输入你猜的数字:')
    if choice =='2':
        print('我请你吃饭')
    elif choice=='3':
        print('免一周作业')
    elif choice=='4':
        print('一起去玩')
    
    执行结果:
    请输入你猜的数字:2
    我请你吃饭

      4)第四种结构

    if 条件1:
        结果1
    elif 条件2:
        结果2
    elif 条件3
        结果3
    else:
        结果4

    例:

    choice=input('请输入你猜的数字:')
    if choice =='2':
        print('我请你吃饭')
    elif choice=='3':
        print('免一周作业')
    elif choice=='4':
        print('一起去玩')
    else:
        print('输入错误')
    
    执行结果:
    请输入你猜的数字:6
    输入错误

      5)第五种结构

    if 条件:
        if 条件:
            结果
        else:
            结果
    else:
        结果

    例:

    age=input('请猜我的年龄:')
    if True:
        if age=='18':
            print('恭喜你猜对了')
        else:
            print('这都看不出来')
    else:
        print('输入错误')
    
    执行结果:
    请猜我的年龄:22
    这都看不出来

     10、while语句

      1)第一种结构

    while 条件:
        结果

    例:

    while True:#死循环
        print(111)
        print(333)
    print(444)
    执行结果:
    111
    333
    ...
    ...

      2)第二种结构

    while 条件:
        else

    例1:

    count=1
    while True:
        print(count)
        if count==3:break#循环被break打断,程序不会走else
        count+=1
    else:
        print('循环结束')
    
    执行结果:
    1
    2
    3

    例2:

    while True:
        print(111)
        print(222)
        continue#遇到continue时continue下面的代码不执行,返回继续执行continue以上的循环
     print(333) 执行结果: 222 333 ... ...

    #如何结束循环:1.改变条件,2.break。

      用while循环打印1-100的方法:

      第1种:

    flag=True
    count=1
    while flag:
        print(count)
        count+=1
        if count==100:
            print(count )
            flag=False
    执行结果:1
    2
    ...
    100

      第2种:

    count=1
    while count<101:
        print(count)
        count+=1

      第3种:

    count=1
    while True:
        print(count)
        count+=1
        if count==101:
            break

          

       

       

     

       

     

         

       

  • 相关阅读:
    image绑定bitmap( Binding Image.Source from download memory)
    c# 调用控制台程序并传参 获取控制台输出(解释器的前台处理)
    varchar和Nvarchar区别
    Response.Redirect:无法在发送 HTTP 标头之后进行重定向
    href="#"与href="javascript:void(0)"的区别
    CSS样式表的优先级别
    若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet
    Jquery下Json数据的传递与解析(asp.net mvc与asp.net api下后台json接收方式的不同)
    knockout.js: Uncaught Error: No Modification Allowed Err
    timepicker, datepicker ,datetimepicker
  • 原文地址:https://www.cnblogs.com/facestore/p/8643522.html
Copyright © 2020-2023  润新知