我的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                

原文地址:https://www.cnblogs.com/guoyilong/p/9819833.html