Python之旅_第一章Python入门

时间:2022-06-25 11:06:15

一、编程语言分类

  1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件;

  2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件;

  3.高级语言:用更贴近人类的语言去编程,计算机不能直接读懂,也不能直接操控硬盘;

  高级语言不能直接被计算机读懂,必须用编译器或解释器将代码翻译成二进制后才能被计算机执行。

    1.编译型:把一篇编程代码直接翻译成计算机能读懂的二进制语言,然后执行。(如c语言)

      编译型因整篇翻译,执行速度快,但也因是整篇翻译,一但出现错误,就需要慢慢查找,调试麻烦;

    2.解释型:一句一句翻译,一句一句执行。(如Python语言)

     解释型因逐句翻译执行,导致执行速度变慢。但调试方便,一但哪一句出现出现错误,直接停止修改,很方便;

     因开发人员追求开发速度,最快的创造价值,一般都是选择解释型。

  总结:

     机器语言:最底层,执行快,开发效率低;

     汇编语言:比较低层,执行快,开发效率低;

     高级语言:编译型:执行快,不依赖环境,跨平台差,调试麻烦;

          解释型:执行慢,依赖解释器,跨平台好,调试方便;

  关于Python的安装,此次就不与记录,网络上满是教程;

二、变量

  1.什么是变量?

  变,即变化,量,即状态。变量就是状态的变化。

  2.为什么要有变量呢?

  因为世间万物都在变化,因为需求开发程序,程序的执行过程也是在不停的变化,为了保存程序执行时状态的变化,而出现变量这种机制;

  3.变量的定义:

    变量名 = 变量值 ( = 此符号是赋值符号)

   例:

    定义一个人的年龄:

    age = 18;

    其中 age 中的值是可以重新赋值改变的,因为人的年龄是随生长改变的,直到长眠,所以就用到了变量;

  4.变量名定义方式:

    变量名由英文字母,数字,下划线_,组成    

    驼峰体:(表达意义词汇的开头大写)

    AgeOfOldboy = 46

    下划线:(表达意义词汇用_分割)

    age_of_oldboy

    注意:变量名开头不推荐用数字和下划线

       不推荐变量名用中文

       不推荐变量名中的词汇意义不明确;

  5.定义变量会有id、type、value

    id:变量名的id,一串数字

    type:变量名的类型

    value:变量名的值

    注意:== 比较的是值,is比较的是id

      两个变量id相同,那么 type和value一定相同;

      type和value相同,变量id并不一定相同;

      变量id基于在内存开辟空间时系统给与的id,相同的id肯定是同一个空间,同一个空间值必定相同;

      而不同内存空间可以有完全相同的值,不同空间的id自然不相同;

  6.变量的解压:

    1.条语句解压列表内所有的值;

    例:

      age=[26,15,34,56]
      age_1,age_2,age_3,age_4=age
      print(age_1)
      print(age_2)
      print(age_3)
      print(age_4)

    2.解压列表内部分的值     

      age=[26,15,34,56,44]
      age_1,_,_,_,age_5=age
      print(age_1)
      print(age_5)

    用_下划线代表名,解压你需要的值;     

      age=[26,15,34,56,44]
      age_1,*_,age_5=age
      print(age_1)
      print(age_5)

    用*_代表你不需要的名的集合,解压你需要的值;    

7.常量:

    不变的量:比如,人死后年龄是不是就变了;

    定义方式与变量相同,注意的是,常量变量名必须全部大写,这是开发者之间默认的规定;

    例:AGE=84;      

 三、程序交互:

  1.程序交互就是计算机与用户交流,用户向计算机输入数据的机制;

    关键字 input

    注意:由input输入的值全部是字符串格式;

    例:

      print('请输入姓名:')

      name=input('输入:')

      print(name)

  2.注释

    注释可分单行和多行注释

      单行注释:#

      多行注释(三对单引号):""" """

    注释代码的原则:

      1.不需要都加注释,只需要在关键和自己觉得不好理解的部分加注释

      2.注释可用中文或英文,但不要用拼音;

    文件头:

      coding:utf-8

    

四、基本数据类型

  什么是数据,为什么要用多种数据类型?

    数据就是变量的值,变量有很多种,名字,年龄啊之类的,你的年龄和名字难道是同一类型吗,用处就在这里;

  1.数字:

    整型:int

      即整数

    浮点型:flout

      即小数

  2.字符串

    字符串型:str

      各种字符综合,用' '、" "、''' ''' 框起表示;

     例:

      name='zhoahu'  name=''zhanglong''   (单双引号没有任何区别)

      注意:''' '''三引号为多行字符

     例:

      msg='''

          窗前明月光,

          疑是地上霜。

         '''

      注意:单引号可以套双引号,双引号可以套单引号,但不能双套双,单套单

     例:

       msg='你真是个"天才"啊!'

  3.列表:

    在[]括号内用逗号分隔,里面可以放任意类型无数的值

    name=['zhanglong','zhaohu','wangerma',1,4,5]

    调用:print(name[3])

      输出结果为1,因为列表索引是从0开始的,0对应的是第1个你输入的值,上例,输出索引3,实际输出的是你输入的第4个值;

    列表嵌套:

    students=['zhanglong ','18',['basketball','musik']]

    调用:print(students[2][1])

       输出结果为musik

  4.字典:

    为什么要用字典呢,列表用索引直接输出是因为数据是你输入的,知道索引分别对应的值,让用户调用的的话就完全摸瞎了;

    在{}括号内用,分隔,存放多个key:value的值,value的值可以是任意类型;

    例:

     students={'name':'zhanglong','age':'18'}

     调用:print(students['name'])

     输出结果为zhanglong,这样用户想要调用,输入姓名就能显示你输入的名字,输入年龄,就能显示你入的年龄

    字典的嵌套

    例:

      students={'name':'zhanglong',

           'age':'18],

           ‘school’:{

                'name':'diyizhongxue',

                'grade':'3'

                }

            }

      取学校名字调用:print(students[school][name])

        输出结果为diyizhongxue

  5.布尔

    布尔值:一个为ture,一个为false

    布尔值用于判断,ture为真,正确的,false为假,错误的;

    注意:所有数据类型都自带布尔值,除了0,None,空(如:[],{})为false,其他全部为真;

    重点:

    可变类型:在id相同情况下(内存空间不变),value可以改变则称为可变类型,如字典,列表等;

    不可变类型:value改变,id同时改变时为不可变类型,(上面说过id变意味着开辟了新的内存空间,value改变开辟新的空间,自然是不可变类型);

五、格式化输出:

  快捷键:%s,%d

  例:

    name='zhanglong'

    age=18

    print('my name %s my age %d' %(name,age))

    输出结果为my name zhanglong my age 18

    注意:%s 可输入字符串数字类型而%d只能输入数字类型,输入字符串类型就会报错

    

六、基本运算符:

  数学运算符:

    +:用于加法运算

    -:用于减法运算

    *:用于乘法运算

    /:用于除法运算

    %:取余运算

    **:幂运算,次方

    //;除法运算取整数

  比较运算符:

    ==:等于

    !=:不等于

    <>:不等于(不推荐使用)

    <:小于

    >:大于

    <=:小于等于

    >=:大于等于

  赋值运算:

    =:简单的赋值,a=19,就是把19这个值赋予a

    +=:加法赋值运算,b+=a,等同于b=b+a;

    -=:原理同上

    /=:同上

    *=:同上

    %=:同上

    **=:同上

    //=:同上

  赋值方式补充:

    1.链式赋值:

        x=1,y=1,z=1; 这种值相同的赋值有跟简单的写法;

        x=y=z=1; 结果与上方相同

    2.交叉赋值:

      m=2;n=1; 想把m的值换到n上,一般是创造第三个变量做介质,现有更简便的方法;

      m,n=n,m;  结果成功交换;      

  逻辑运算:

    and:与,q and w  其中只要有一个为假,结果就是假,必须两个都是真结果才是真

    or:或,q or w 其中有一个为真,结果就是真,必须全部为假结果才是假

    not:非 q not w 当原本结果为真时,运行出来结果就是假,即非真即假,非假即真;

  身份运算:

    is用于比较id

    == 比较的是值

七、流程控制之if....else

  关键字:if

      elif

      else

  用于判断。

  例1:

    a=18,b=20,我们用if判断,a和b哪个大

    a=18

    b=19

    if a>b

      print('a比b大')

    else

      print('b比a大')

    输出结果为b比a大,当结果为真时,直接运行if下面的语句,当为假时则跳过if下面的语句,运行else下面的语句

  例2:

    现在有位女性的数据,我们用计算机判断那个人是不是美女;

    age=18

    looks='charming'

    if age==18:

      if looks=='charming':

        print('表白')

    else:

      print('不好意思,认错人了')

    输出结果为表白,先判断是不是18岁,不是直接说认错人了,然后再判断漂不漂亮,不漂亮就认错人,漂亮就表白,用的就是if嵌套

  例3:

    现在有个500ml的杯子,里面有200ml的牛奶,我们用计算机判断它是满杯牛奶,还是中杯、小杯

    milk=200;

    if milk=500:

      print('满杯')

    elif milk>=300:

      print('中杯')

    else:

      print('小杯')

    结果输出为 小杯。elif在部分情况下可以省略if的嵌套,不需要在if中再嵌套if; 

八、流程控制之while循环

  循环,意思就是不断的重复,人每天都吃饭,我们总不能写无数个每天吃饭的代码吧,只需要写一个吃饭,然后让它循环就好;

  循环关键字 while

        else

        continue

        break

  例1:

    输出1-10;

    n=1;

    while n<=10:

      print('-',n)

      n+=1

   输出结果为-1,-2....-10;n<=10为循环判断,如何没有判断它就会一直执行,直到电脑崩溃,加了判断达到要求后会自动停止

  例2:

    输出1-10的偶数:

    n=1

    while n<=10:

      n+=1;

      if n%2!=0:

        continue

      else:

        print('-',n)

      结果为 -2,-4...-10,其中我们用if判断变量是不是偶数,不是就用continue 跳过,是就输出,如果用的是break的话,在遇到第一个奇数时,循环就会结束

   例3:

    循环完提升

    n=1;

    while n<=10:

      print('-',n)

      n+=1

    else:

    print('此次循环以结束')

    输出结果为-1,-2...-10,此次循环以结束,else用法,在于循环结束后输出else后的语句。

  

Python之旅_第一章Python入门的更多相关文章

  1. 鱼书&lowbar;第一章&lowbar;Python入门

    Python版本 Python有Python 2.x和Python 3.x两个版本.两个版本不兼容,可能出现用Python 3.x编的代码不能被Python 2.x执行的情况. Python安装 An ...

  2. &lbrack;Python笔记&rsqb;&lbrack;第一章Python基础&rsqb;

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

  3. ArcGIS for Desktop入门教程&lowbar;第一章&lowbar;引言 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区 1 引言 1.1 读者定位 我们假设用户在阅读本指南前应已具备以下知识: · 熟悉W ...

  4. Kettle解决方案&colon; 第一章ETL入门

    第一章ETL入门 1.1 OLPT和数据仓库对比 普通的事务系统和商业智能系统(BI)有什么区别? 1个独立的普通事务系统也被称为在线事务处理系统(OLTP) 商业智能系统也常被称为决策支持系统(DS ...

  5. MySQL----MySQL数据库入门----第一章 数据库入门

    第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...

  6. Java Persistence with MyBatis 3&lpar;中文版&rpar; 第一章 MyBatis入门

    本章将涵盖以下话题: ž  MyBatis是什么? ž  为什么选择MyBatis? ž  MyBatis安装配置 ž  域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...

  7. 第一章 Kubernetes入门

    第一章 Kubernetes入门 kubernetes是基于容器技术的分布式架构领先方案,是一个完备的分布式系统支撑平台. kubernetes带来的好处:1)全面拥抱微服务:2)统可以随时随地整体“ ...

  8. 《python语言程序设计》&lowbar;第一章编程题

    题目1.1 :显示"welcome to python " 答案:print('welcome to python') 题目1.2:显示"welcome to pytho ...

  9. 第一章 Python 基础

    1. 为什么学习 Python? 答题路线:a.python的优点,b.python的应用领域广 具体: 优点 1.python语法非常优雅,简单易学 2.免费开源 3.跨平台,可以*移植 4.可扩 ...

随机推荐

  1. DotNet项目中的一些常用验证操作

    在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入. 如果在后台对用户输入的信 ...

  2. css制作漂亮彩带导航条菜单

    点击这里查看效果:http://keleyi.com/keleyi/phtml/divcss/17.htm 效果图: 以下是源代码: <!DOCTYPE html PUBLIC "-/ ...

  3. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

  4. &lbrack;&lbrack;UIScreen mainScreen&rsqb; bounds&rsqb;获取尺寸不对

    http://www.cocoachina.com/bbs/read.php?tid-264373.html [[UIScreen mainScreen] bounds]获取尺寸不对       我在 ...

  5. IOS 多线程01-线程基础知识

    大部分现代操作系统,包括IOS,都支持执行线程的概念.每个进程可以包含多个线程,他们可以同时运行.如果只有一个处理器核心,操作系统将在所有执行线程之间切换,非常类似于在所有执行线程之间切换.如果拥有多 ...

  6. Web服务器集群搭建关键步骤纪要

    前言:本文记述了搭建一个小型web服务器集群的过程,由于篇幅所限,系统.软件的安装和基本配置我这里就省略了,只记叙关键配置和脚本内容.假如各位朋友想了解各软件详细配置建议查阅官方文档. 一 需求分析: ...

  7. easyui easyui-filebox 显示中文

    <input class="easyui-filebox" name="uploadFile" id="uploadFileid" d ...

  8. UVALive - 5107 - A hard Aoshu Problem

    题目链接:https://vjudge.net/problem/UVALive-5107 题目大意:用ABCDE代表不同的数字,给出形如ABBDE___ABCCC = BDBDE的东西: 空格里面可以 ...

  9. 网页性能优化之异步加载js文件

    一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件.在谈异步加载之前,先来看看浏览器加载js文件的原理. 浏览器加载 JavaScript 脚本,主要通过<scri ...

  10. Linux 命令 及 简单操作 学习

    众所周知,linux命令很多很多,但是,请不用担心,相信你自己不断的积累,终有一天你和你和小伙伴都会为你惊呆的...... 废话不多说,那,什么时候动手????---------现在,马上..... ...