• 我的python中级班学习之路(全程笔记第一模块) (第一章)语言基础


    第一模块                              开发基础

    第一章  : python基础语法

    第一节:编程语言介绍(2018.9.20)

     一 .计算机工作的详解

       1.什么是编程语言:就是写代码,为了让计算机工作。

       2.计算机的工作原理:写代码>>>>编译>>>>计算机工作。

       3.计算机的识别:计算机只识别二进制的语言.例:(01010000111100010101)

       4.计算机的来历:计算机是美国发明的,最初只认识二进制,是通过层层翻译达到电脑运行的。(输入 >>> 编译 >>> 二进制 >>> 电脑识别运行)

     二.编程语言的分类

       1.机器语言(就是二进制,电脑最底层的语言,优点:识别快。缺点:效率低、复杂。)

       2.汇编语言(比机器语言等级高一点,优点:底层、识别快。缺点:效率低、复杂)

       3.高级语言:高级语言分为2类分别是编译型与解释型。

         (1)高级语言*编译型:编译型语言是高级语言的其中一种,不依赖语言环境运行.有独立的语言编译器。(优点:执行速度快、独立性强。缺点:跨平台性差)

         (2)高级语言*解释型:解释型语言是高级语言的另一种,依赖解释器运行,有独立的语言解释器。(优点:跨平台性强,一份代码到处都能用。缺点:执行速            度慢,依赖解释器运行)

    第二节:python介绍与发展史以及安装与应用(2018.9.21)

     一.python发展史

       1989年圣诞节jiduo吉多.范罗苏姆 创建了python

       1991年 python的第一个编译器诞生(以C语言为基础)

       1994年第一个版本 python 1.0诞生

       2000年 python 2.0诞生

       2004年 python2.4诞生(经典款,诞生了至今为止最流行的WEB框架创建人,江沟)

       2006年 python2.5诞生

       2008年 python2.6与python3.0同时诞生

       2009年 python3.1诞生

       2010年 python2.7诞生(过渡版本)

       2011年 python3.2诞生

       2012年 python3.3诞生

       2014年 python3.4诞生,同时宣布python2.7版本不再更新,到2020年终结,只更新3.4以后版本。

       2015年 python3.5诞生

       2016年 python3.6版本诞生1

     二.python解释器的种类与原理

       1.python解释器的原理

         人员输入→→执行→→源代码文件→→执行→→解释器或者虚拟机(解释器有以下几种:①Ironpython*字节码,Windows用的解释器  ②Cpython*最官方的解释器大多数都在用           ③Ipython*金融领域用的比较多   ④Jpython*Java语言写的解释器   ⑤Pypy*python写的,很快但是不成熟)→→动态编译→→机器语言可执行指令→→CPU

     三.python的安装测试与使用存储

       1.python的安装

         ⑴.去python官网下载python3.0以上版本(建议下载python3.6)下载完,按照提示进行安装

         ⑵.安装好之后打开电脑运行,输入指令CMD

         ⑶.进入命令环境界面再次输入python后回车,如果安装成功会有python版本交互界面,证明已进入python运行环境,否则代表安装失败。

         ⑷.最后输入exit()后回车,就会退出python运行环境

      #注:进入python运行环境之后,一定要用英文输入,不能有中文以及中文格式的任何字符,否则都会导致报错!

          2.python的简单使用操作

          ⑴.进入python交互环境

          ⑵.输入print("hello world!")

          ⑶.输入print("python好简单,学好挣大钱!")

    3.python运行环境中写代码速度快,但都是一次性的,一旦关机再打开就没有之前写的代码,要想存储代码必须在记事本或者pycharm软件里面写代码,python本身的作用就        是运行代码。

    第三节:变量与常量 (2018.9.22/23)

    一、变量定义:变量就像一种设置好的公式或标记、描述数据。它是一个可以一直改变的值,用于存储信息,以备后台读取调用。

    1、变量的定义规范:变量定义规范是python软件的一个规矩,就像一个国家的法律一样

    ⑴.变量名不能随便起。例:names = "Alex Li" (例子中names就属于变量名,就是一个名字;引号里面的就属于变量值。)

    ⑵.变量名只能是字母、数字或者下划线的任意组合,不能使特殊字符,*注:变量名的第一个字符不能使数字,关键字(python语法用的单词或者字符)不能声明为变量名,以免占用语法的覆盖。

        ⑶.变量的命名习惯(相当于定义规范)

    ① 驼峰体:每一个单词的首字母大写组成的变量名。例: AgeOfOldboy = 56         NumberOfStudents = 80     (整体看上去像是骆驼背部的两个驼峰)

    ② 下划线:每个单词之间用下划线间隔开,不用大写。例:age_of_oldboy = 56          number_of_students = 80         (常用变量名语法)

    ③ 下划线是官方推荐使用的变量名语法。

    ⑷.变量名Low的方式(低级的,不道德的)

    ① 变量名用中文或者拼音表示  (最好用英文表示)

    ② 变量名过长                (最好用简单且能表示语义的方法)

            ③ 变量名词不达意            (就是用词不当)

         3.变量赋值:变量赋值直接用 = 来表达,重新赋值直接改就可以了。

          例:如果 a = 1    b = a   那么b = 1    

              如果再次赋值 a = 3  那么 b 的值应该是多少呢?      答案:(b = 1)

            **知识点:b 指向的是 a 对应的变量值,而不是a的本身,所以 a 再次赋值不影响 b 指向的的变量值。

    二 . 常量

          1.定义:常量和变量相反,则是一旦设置好就不能再改变的值。就像数学公式里 π 的值是 3.141592653......是不会改变的值。又或者说是一个程序运行中不会改变的量!

    第四节:用户交互和注释(2018.9.24)

     一、读取用户输入

          1.简单的用户交互方式

    例:
    >>> name = input("what is your name?")
    >>> print("hello",name)     #最简单的用户输入方式(会等到你输入自己名字再打印 "hello"name)

         2.也可以让用户输入多个信息

    例:>>> name = input("what is your name?")
    
       >>> age = input("how old are you?")
    
       >>> hometown = input("where is your hometown?")
    
       >>> print("hello",name,"your are",age,"years old,you came from",hometown)

    二、注释

         1. 语法与用法:代码注释用#号

         2.代码注释的原则:(1) 不用全部加注释,只需要在自己觉得重要或者不好理解的部分加注释即可;(2) 注释可以用中文或者英文但一定不要用拼音。( 很 Low ) 

     第五节:数据类型——数字类(2018.9.25)

        一、定义

             人类可以很容易区分清数字、字母与汉字的区别,但是电脑不能区分,计算机虽然很强大,但从某种角度上看又很笨,除非你明确的告诉它,1是数字,“汉”是中文,否则它是分不清“1”和“汉”的区别, 因此在每一个编程语言里,都会有一个叫做数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给他,你想让他处理文字,就传字符或者字符串类型给它。

        二、数字(int)

           1.在32位计算机上,整数的位数为32位,取值范围为-2**31~2**31 -1(负2的31次幂至正2的31次幂减1)即:【-2147483648~24147486947】

            2.在64位计算机上,证书的位数为64位,取值范围为-2**63~2**63 -1(负2的31次幂至正2的31次幂减1)即:【-9223372036854775808~9223372036854775807

        三、长整数(long)

            python里的长整数跟C语言里面的不同,Python长整数没有指定位宽,C语言有长整数位宽。( 就是有位数限制 )但是python没有位数限制,也就是说可以无限延长,由于机器内存有限,我们使用的数值不可能     无限大。在python3.0以后就没有长整数(long)了,整数位数超过局限会自动转成长整数,3.0以下还会有区别,所以如今在长整数的数据后面不加子母L也不会导致严重后果。

     第六节:数据类型——字符串(2018.9.26)

        一、定义:在python中,加了引号的字符都被认为是字符串。(字符串是我们在python中,天天会用到的东西,也是最基本的东西。数字加了引号也被认为是字符串)

            字符串的表述方式有以下三种:

            ⑴.单引号''(常用型)

            ⑵.双引号""(和单引号一样)

              唯一区别在于在英文编写中有用到单引号的地方,那么这个字符串必须用双引号表述。

    例:
    >>>mag = "My name is Alex,I'm 22 years old !" #里面的I'm  还有出现的I's  都要用双引号

       ⑶.多引号""" """(在特殊情况下只能用多引号,就是写一段话,多行和 跨度比较长的情况下,必须用多引号,否则会出现格式错误)

         注:单引号和双引号只适合引一行内的字符串,没有引号的字符串被认为是变量,而变量是必须先赋值才能执行,否则会提示语法错误!

        二、字符串运算

            ·字符串也可相加,相加不是求和,而是可以拼接在一起,还可以相乘,得出更多。

    例:
    相加:
    >>>name = ‘Alex Li ’
    >>>age = 22
    >>>name + age   #相加就是简单拼接
    >>>‘Alex Li 22’
    
    
    相乘:
    
    >>>name * 10     #相乘其实就是复制多少次自己,再拼接在一起
    >>>‘Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li Alex Li’

         ** 需要注意的是:相加只能在同样的类型(双方都是字符串或者双方都是数字)才可以计算,其他的都不可以(会报错)!

    第七节:数据类型——布尔类型(2018.9.27)

        一、定义:布尔类型很简单,就是两个判断值,一个True(真),一个False(假)主要用于逻辑判断,计算机用的一种表达方式,真的就是True , 假的就是False。

        ·True:就是计算机认为对的,成立的,真的,正确的。

        ·False:就是计算机认为是错的,不成立的假的,不正确的。

        ·为什么计算机要描述判断这种条件呢?这个条件描述很重要,在以后的编程里,涉及面很广,逻辑判断,根据条件判断的结果选择不同的方案。

    例:
    
    >>>a = 5
    >>>b = 8
    >>>
    >>>a > b    #不成立就是 False 也就是假的
    False
    >>>
    >>>a < b    #成立就是 True   也就是真的
    True
    
    条件判断示例:
    
    >>>if a > b 
               print('a is bigger than b')
    >>>else :
               print('a is smaller than b')

             ·以上就是布尔类型,也是以后天天都会用的逻辑判断。

    第八节:格式化输出(2018.9.28)
    所谓的格式化输出,就是先设置好格式,然后再输入对应的值,形成整体工整的表格。
    例:
    >>>name = input('name:')
    >>>age = input('age:')
    >>>job = input('job:')
    hometown = input('hometown:')
    info = """
    ---------------info of %s ---------------
    name :       %s
    age    :     %s
    job     :    %s
    hometown :   %s
    ------------------ end ------------------
    """%(name,name,age,job,hometown)
    >>>print(info)

         · % → 连接符

       · s → 万能的、字符串占位符。(string)

       · d → 数字占位符。(digit)

       · f → 小数的占位符。(float)

       **以上的占位符字母必须是小写,要先赋值,然后获取用户数据,才能格式化输出。

    第九节:运算符(2018.9.29)

       一、定义:计算机可以进行的运算有很多种,可不只是加、减、乘、除这么简单,按种类可以分为:算术运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。

        ·我们先学算数运算、比较运算、逻辑运算、赋值运算。

        二、算术运算  

         假设 a = 10    b = 20

    ·算术运算:  运算符 :                                                                示例:

                          +    加  (两个对象相加)                                            a + b  输出结果 30

                          -    减  (得到一个负数或者一个数减去另一个数)                      a - b  输出结果 -10

                          *    乘  (两个数相乘或者返回一个被重复若干次的字符串)              a * b  输出结果 200

                          /    除  (两个对象相除x除以y)                                      b / a  输出结果  2

                          %   取模 (返回除法的余数)                                          b % a  输出结果  0

                         **    幂  (返回x的y次方)                                            a**b 为10的20次方,输出结果100000000000000000000

                         //  取整除(返回商的整数部分)                                        9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

    ·比较运算: 运算符:                                                                 示例:

                        = =   等于  (比较对象是否相等)                                        a = = b   返回  False

                        !=  不等于 (比较两个对象是否不相等)                                  a != b   返回  True  (常用)

                        < >  不等于 (比较两个对象是否不相等)                                  a < > b   返回  True(这个运算符类似于 != 不常用)

                         >   大于   (返回 x 是否大于 y)                                       a  >  b   返回  False   

                         <   小于   (返回 x 是否小于 y)(所有运算符返回1表示真,返回0表示假) a  <  b   返回  True(分别和True 和 False 等价。注意:变量名的大写

                        > = 大于等于(返回 x 是否大于等于 y)                                   a > = b   返回  False  

                        <= 小于等于(返回 x 是否小于等于 y)                                    a < = b   返回  True      

    ·赋值运算:运算符:                                                                  示例:

                         =    (简单的赋值运算符)                                              c = a + b (将 a + b 的运算结果赋值为 c )

                        + =   (加法赋值运算符)                                                c + =  a  (等效于 c = c + a )

                        - =   (减法赋值运算符)                                                c - =  a  (等效于 c = c - a

                        * =   (乘法赋值运算符)                                                c * =  a  (等效于 c = c - a 

                        / =   (除法赋值运算符)                                                c / =  a  (等效于 c = c / a 

                        % =   (取模赋值运算符)                                                c % =  a  (等效于 c = c % a 

                       ** =   (幂赋值运算符)                                                  c ** = a  (等效于 c = c ** a 

                       // =   (取整除赋值运算符)                                              c //=  a  (等效于 c = c // a 

    ·逻辑运算:运算符:

                        and  布尔“与”(如果x为False,x and y 返回False,否则返回 y 的计算值

                        or   布尔“或”(如果x为True,它返回True,否则返回 y 的计算值

                       not  布尔“非”(如果x为True,返回False,如果x为False,它返回True

    逻辑运算
    **布尔“与”(and)示例:
    >>>a 
    10
    >>>b 
    20
    >>>a == 10 and b == 20 
    True
    >>>a == 10 and b == 21
    False
    **布尔“或”(or)示例:
    >>>a == 10 or b == 21
    True
    >>>a == 11 or b == 21
    False
    >>>a == 11 or b == 20
    True
    **布尔“与”(and)示例:
    >>>a == 11 or b == 21
    False
    >>>not a == 11 or b == 21
    True

     第十节:流程控制——单、双、多分支

              一、单分支

               · if 条件满足后执行的代码

    单分支
    示例:
    >>>Age of old boy = 56
    >>>if Age of old boy > 50 :
               print("Too old time to retire") 

                 二、双分支

             · if 条件满足执行代码 if 条件不满足 就走 else 

    单分支
    示例:
    >>>Age of old boy = 56
    >>>if Age of old boy > 50 :
               print("Too old time to retire") 
    >>>else :
               print("你还能折腾几年")    

                   三、多分支

              ·if 条件,满足,执行代码。

              ·elif 条件,上面的条件不满足,执行这个。

              ·elif 条件,上面的条件不满足,执行这个。

              ·elif 条件,上面的条件不满足,执行这个。

              ·elif 条件,上面的条件不满足,执行这个  ......等等,可加无限个elif条件。

              所有的条件都不满足

              ·else上面的条件都不满足,就走这个。

    多分支
    示例:
    >>>age_of_old boy = 56
    
    >>>guess = int(input(“>>:”))
    >>>if guess > age_of_old boy :
               print("你猜的年龄太大了,往小猜猜看...") 
    
    >>>elif guess < age_of_old boy :
               print("你猜的年龄太小了,往大猜猜看...">>>else :
               print("恭喜你答对了"

     

    第十一节:while循环

            while条件:

                     执行代码

    写一个从0打印到100的程序,每次循环+1
    示例:
    >>>count = 0
    >>>while count <=100
           print("loop",count)
    >>>count +=1

        **注意:代码的每一行空格和目录缩进,在什么目录下一定不能搞错,否则程序会出错!

    第十二节  dead loop(死循环)(2018.10.1)

    定义:有一种循环叫做死循环,一经触发,就会运行到天荒地老,海枯石烂,(只要while循环的条件满足,就会一直循环,让条件满足的方法,就是True)

    例:
    >>>count = 0
    >>>while True:       #就是条件定义为真,不设边界!
    >>>print("你是风儿,我是沙,缠缠绵绵,绕天涯………")
    >>>count + 1

     ***注意条件满足,必须后面count+1

    第十三节   continue   和    break(停止循环和终结循环的语法)

      循环的停止和终止语句:如果在循环中,因为某些原因不想再循环了,怎么停止和终止循环呢,这就用到continue和break的语法了。

    1.beak用于完全终止一个循环,跳出循环体,执行后面的语句。

    2.continue和beak有点类似,区别在于continue只是停止循环,还会接着执行后面的代码和循环。beak则是完全终止本次循环!

    ————————第一章第1部分结束线—————————2018-10-30                

  • 相关阅读:
    python3 使用 lxml 库解析 HTML
    套接字
    使用 socket_server 创建一个简单的服务器和客户端
    创建一个超级简单的UDP服务器 / 客户端
    创建一个超级简单TCP交互的服务器/客户端
    python3 stock send() 函数报错: TypeError: a bytes-like object is required, not 'str'
    python3 stock recv OSError: [WinError 10038] 在一个非套接字上尝试了一个操作
    python 之闭包
    任导航(认道行rendaohang)上线啦!~
    Pr Pro CC 2019 添加的时间码不同步/不一样/比实际时间短或长问题排查
  • 原文地址:https://www.cnblogs.com/guoyilong/p/9819833.html
Copyright © 2020-2023  润新知