第一节 Python概述

1. 什么是Python

Python是一种 解释型、面向对象、动态数据类型 的高级程序设计语言。由Guido van Rossum与1989年发明,第一个公开发行版本发行于1991年。像Perl语言一样,Python源代码同样遵循GPL(GNU General Public Licence)协议。

2. 简介

1.Python是一种解释型语言:开发过程中没有了编译这个环节,类似于PHP和Perl语言;
2.Python是一种交互式语言:可以在一个Python提示符,直接互动执行程序;
3.Python是面向对象语言:Python支持面向对象的风格或代码封装在对象的编程技术;
4.Python是初学者的语言:支持广泛的应用程序开发,从简单的文字处理WWW浏览器再到游戏

3. 发展历史

Python是由Guido van Rossum在20世纪八十年代末九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身是由诸多其他语言发展而来的,其中包括:ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix
shell和其他的脚本语言等。目前Python是由一个核心开发团队在维护,Guido van Rossum仍占据着至关重要的作用,指导其进展。

4. Python的特点

1. Python的优点

1.易于学习:它具有相对较少的关键字,结构简单,和一个明确的语法;
2.易于阅读:代码定义更加清晰;
3.易于维护:Python的成功在于它的源码是相当容易维护的;
4.一个广泛的标准库:具有丰富的库,跨平台,在UNIX、Windows和Macintosh兼容很好;
5.互动模式:互动模式的支持,可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片段;
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台;
7.可扩展:如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C/C++完成那部分的程序,然后从你的Python程序中调用;
8.数据库:Python提供所有主要的商业数据的接口;
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用;
10.可嵌入:可以将Python嵌入到C/C++程序中,让用户获得“脚本化”的能力;

2. Python的缺点

1.运行速度慢:和C程序相比Python程序非常慢,因为Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器语言,翻译过程非常耗时间,而C语言之间把所有代码编译成CPU可以理解的机器语言;
2.代码不能加密:如果要发布Python程序,实际上就是发布源代码,而C语言不用发布源代码,只需把编译后的机器语言(也就是windows系统上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以编译型语言都没有这个问题,但解释型语言都必须把源代码发布出去。

第二节 数据的存储

计算机的原始作用就是“存储数据”和“计算数据”,但是数据存储在哪?数据存储在内存里。但是数据又是怎么存储在内存里的呢?其实内存中存储的都是二进制数据,比如(10)10=(1010)2,其实抽象起来就是,一个具有两种状态的开关表示“一位”,开和关用0和1表示,把八个开关放在同一个房间里,这个房间称为“一个字节”,则每个房间的门牌号就可以看作是“存储地址”,把无数个房间堆叠起来组成一个摩天大厦,则这个摩天大厦就是“内存”。

1. 数据存储:计算机存储数据,先开辟内存空间,再存储数据。计算机开辟内存的最小单位是字节。在存储数据时,用最高位表示“符号”,其中1表示“负数”,0表示“正数”,详细可参考《计算机组成原理》课程,或自行百度。

第三节 Python程序的编辑模式

  1. 交互模式:在命令行编辑一行运行一行
  2. 命令行模式:运用编辑工具编辑代码,并以“.py”作为后缀名,然后打开命令行>C:(转到C盘)–>dir(查看当前目录下的所有文件)–>cd Desktop–>python XXX.py(执行文件)

第四节 Python的数据类型

1.具体数据类型

  1. None(空):
  2. Number(数字):
  • 整数:Python可以处理任意大小的整数,当然也包括负整数,在程序中的表示和数学的写法一样;
  • 浮点数(小数):浮点数由整数部分和小数部分组成,在运算的过程中可能会有“四舍五入”的误差
  • 复数:由实部(由a表示)和虚部(由b表示)构成,a+bi,其种“i”表示虚数单位
 # 比较两个数的大小
a1 = 100
a2 = 9
print((a1>a2)-(a1<a2))
# 返回1,因为a1>a2=true=1,a1<a2=false=0,所以1-0 = 1
print(abs(a1)) #求a1的绝对值
print(max(1,2,3,4,5,6)) #求出数列中的最大值
print(min(1,2,3,4,5,6)) #求出数列中的最小值
print(pow(2, 6)) #求出2的5次方:2^5
print(round(3.35, 2)) #浮点数 保留2位小数的四舍五入 import math #导入 数学 库
print(math.ceil(121.34)) #向上取整 122
print(math.floor(121.34)) #向下取整 121 print(math.modf(23.15)) #返回整数部分和小数部分 (小数部分-浮点型, 整数部分-浮点型) print(math.sqrt(16)) #返回4 开平方 #随机数
import random
print(random.chioce([1,5,9,3,8,7,6])) #从这些数中随机选取一个数,序列中,可以有字符串等其他类型的数据
print(random.chioce(range(5))) #表示从“0,1,2,3,4”中任选一个数
print(random.choice("hello world!")) #"hello world!"=['h','e','l','l','o',' ','w','o','r','l','d','!']
print(random.randrange(1, 100, 2)) #randrange([start,] stop[, step]) 生成1~100的奇数,[]内的表示可有可无,start默认为0,step默认为1
print(random.random()) #随机产生一个[0,1)的浮点数,不能传值
print(random.uniform(3,9)) #随机生成一个[3,9]之间的实数
  1. String(字符串):
  2. Boolean(布尔):
  3. List(列表):
 list = [1,2,3,4,5]
random.shuffle(list) #将列表随机排序
print(list) #
  1. Turple(元组):
  2. Dict(字典):
  3. Set(集合):

2.标识符

  1. 定义:一串具有特殊规则的字符串
  2. 规则:
  • 只能由数字、字母、下划线组成;
  • 开头不能是数字;
  • 不能是Python的关键字
 # 查看关键字
import keyword
print(keyword.kwlist)
  • 区分大小写
  • 见名知意
  • 起名遵循驼峰原则
  1. 作用:给变量、函数等命名
  2. 注意:在Python3中,非ASCII标识符也是允许的

3.变量和常量

1. 变量:

  1. 概述:
  • 程序可操作的存储空间的名称;
  • 程序运行期间能改变的数据;
  • 每个变量特有的类型。
  1. 作用:将不同类型的数据存储到内存;
  2. 定义变量方式:变量名 = 初始值(为了确定变量的类型)
  3. 数据的存储:变量名 = 数据值,注意:在变量使用之前必须先定义,否则会报错;
  4. 删除变量:del 变量名,注意变量删除后,变量将不能再引用(相当于没有定义该变量);
 # 交互式定义变量
num1, num2 = 36, 48

2. 常量:程序运行期间不能改变的数据

第五节 运算符和基本语句

表达式:由变量、常量和运算符组成的式子
阅读表达式:功能(进行相关符号的运算,不会改变变量的值)、值(运算结果)

1. 运算符

  1. 算术运算符:+、-、*、/、%(取余,模)、**(求幂)、//(整除-取整)、++(自增)、- -(自减)
  2. 关系运算符:==、!=、>、<、>=、<=
  3. 赋值运算符:=
  • 格式:变量 = 表达式
  • 功能:计算了“=”右侧表达式的值,并赋值给左侧

4. 复合赋值运算符:+=、-=、*=、/=、%=、**=、//=

5. 位运算符:把其他进制的数转换为二进制进行位运算的运算符,其中包括:

  • &(按位与:两者为1,才为1,否则为0);
  • |(按位或:两者为0,才为0,否则为1);
  • ^(按位异或,两者相同为0,不同为1);
  • ~(按位非:取反);
  • <<n(左移运算符):二进制数的各位,都向左移动n为,移出的高位舍弃,空白的低位补0
  • >>n(右移运算符):二进制数的各位,都向右移动n为,移出的低位舍弃,空白的高位补0

6. 逻辑运算符:and(逻辑与:全都为真才为真)、or(逻辑或:全都为假才为假)、not(逻辑非:取反);逻辑运算符有短路原则,比如说逻辑与,当确定一个为假,则全部为假

7.成员运算符:in(如果在指定的序列中找到值返回True,否则返回False)、not in(如果在指定的序列中没有找到值返回True,否则返回False)

8.身份运算符:is(判断两个标识符是不是引用同一个对象)、is not(判断两个标识符是不是引用不同的一个对象)

运算符的优先级:**(求幂);    ~、+(正号)、-(负号);    *、/、%、//;    +(加)、-(减);    >>、<<;    &、|、^(异或);    <=、<、>、>=;    ==、!=、=、%=、+=、-=、//=;is、is not、in、not in、not、 or 、and

 # 运用逻辑运算符,实现从控制台输入一个年份,判断是否是闰年
# 普通闰年:能被4整除但不能被100整除的年份为普通闰年。
# 世纪闰年:能被400整除的为世纪闰年。
year = int(input("请输入年份:")) if year % 4 ==0 and year % 100 !=0:
print(year,"是普通闰年!")
elif year % 400 == 0:
print(year,"是世纪闰年!")
else:
print(year,"是平年!")

2. if条件语句

当程序执行到 if 语句时,首先计算“表达式”的值,值为真,执行 if 下的语句;值为假,执行else下的语句,如果没有else,跳出 if 语句,继续执行下面语句。

 # if条件语句的格式
if 表达式:
执行语句/pass(占行符,什么也不执行)
else if 表达式:
执行语句/pass(占行符,什么也不执行)
else:
执行语句/pass(占行符,什么也不执行)

何为真假:假:0、0.0、’’(空)、None、False等,除此之外为真

 # 从控制台中输入一个三位数,判断,如果该数为“水仙花数(如:153=1^3+5^3+3^3)”,就打印输出“是水仙花数”,否则打印“非水仙花数”
sh = int(input("请输入一个三位数:"))
a = sh // 100 #百位
b = sh % 100 //10 #十位
c = sh % 100 % 10 #个位
# print(a, b, c)
res = a**3+b**3+c**3
if res == sh:
print("该数是水仙花数", res, "=", a, "^3+", b, "^3+", c, "^3")
else:
print("该数非水仙花数", res, "!=", a, "^3+", b, "^3+", c, "^3")
 # 从控制台中输入一个5位数,判断,如果该数为“回文数(如:12321)”,就打印输出“是回文数”,否则打印“非回文数”
hui = int(input("请输入一个五位数:"))
a = hui // 10000 #万位
b = hui % 10000 // 1000 #千位
c = hui % 10000 % 1000 // 100 #百位
d = hui % 10000 % 1000 % 100 // 10 #十位
e = hui % 10000 % 1000 % 100 % 10 #个位
if a == e:
if b == d:
print("该数是回文数:", hui)
else:
print("该数非回文数:", hui)

第一章 Python程序语言简介的更多相关文章

  1. 《自学C语言》第一章:C语言简介

    这一章主要介绍什么是C语言,以及它的产生.发展历史.如其中所说的计算机术语有不懂的请百度,例如什么是强类型,什么是高级语言. 1.C语言是什么? 答:C语言是一门通用计算机编程语言,应用广泛.C语言的 ...

  2. 【学习笔记】第一章 python安全开发简介

    1.1为什么黑客喜欢用python? python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象的称为“”内置电池“”,用python开发,许多功能不必从零 ...

  3. 《Java从入门到失业》第一章:计算机基础知识(三):程序语言简介

    1.3程序语言简介 我们经常会听到一些名词:低级语言.高级语言.编译型.解释型.面向过程.面向对象等.这些到底是啥意思呢?在正式进入Java世界前,笔者也尝试简单的聊一聊这块东西. 1.3.1低级语言 ...

  4. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  5. 第一章、PyQt的简介、安装与配置

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 第一章.PyQt的简介.安装与配置 一.引言 当朋友向我推荐PyQt时,老猿才知道有这样一个在Pyt ...

  6. 第一章 初始C语言

    第一章 初始C语言 目录 第一章 初始C语言 1. C语言起源 2. 选择C语言的理由 2.1 设计特性 2.2 高效性 2.3 可移植性 2.4 强大而灵活 2.5 面向程序员 3. C语言的应用范 ...

  7. 第一章ASP.NET SignalR简介

    第一章ASP.NET SignalR简介 1.1概述: ASP.NET SignalR是微软新开发的类库,为的是帮助ASP.NET开发人员很方便地开发实时网络功能. SignalR允许服务器端和客户端 ...

  8. 核心系统命令实战 第一章Linux命令行简介

    第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout  快捷键:Ctrl+d 1.1.2 Li ...

  9. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

随机推荐

  1. JSON.stringify 语法实例讲解+easyui data-options属性+expires【申明:来源于网络】

    JSON.stringify 语法实例讲解+easyui data-options属性+expires[申明:来源于网络] JSON.stringify 语法实例讲解:http://www.jb51. ...

  2. ALM 中查看某个 test 的更改 history 历史

    ALM 中要查看某个 test 更改历史, 需要下面两个表: AUDIT_LOG and AUDIT_PROPERTIES ------- Get Test modification history ...

  3. luarocks 包管理工具

    安装方式:wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz tar zxvf luarocks-2.2.2.tar.gz cd luaro ...

  4. Install VirtualBox Guest Additions for elementary os

    Pls refer to: Install VirtualBox Guest Additions for elementary os

  5. Html转义字符列表

    Symbol Code Entity Name ™ ™   €   € Space   ! !   " " " # #   $ $   % %   & & ...

  6. USACO Section 1.3 题解 (洛谷OJ P1209 P1444 P3650 P2693)

    usaco ch1.4 sort(d , d + c, [](int a, int b) -> bool { return a > b; }); 生成与过滤 generator&& ...

  7. 阿里云Ubuntu 18.04安装图形界面

    #!/bin/bash #更新软件库 apt-get update #升级软件 apt-get upgrade #安装ubuntu桌面系统 apt-get install ubuntu-desktop

  8. TCP断开那些事

    继上一篇后,我们再来看一下四次挥手的过程 这里其实没有必要过多阐述,一张图胜过千言万语. 与三次握手一样,四次挥手的过程中也有许多扩展问题. 当然问的最多的还是:为什么要四次握手?为什么要等待2MSL ...

  9. com.alibaba.druid.pool.DruidDataSource : {dataSource-2} init error

    这几天准备写一个项目,其中的整合druid的时候,发现出现了下面这个错误.找了好久都没有找到.网上的各种解决方法都不对. 2018-11-07 16:26:28.940 INFO 19684 --- ...

  10. JAVA学习笔记 (okHttp3的用法)

    最近的项目中有个接口是返回文件流数据,根据我们这边一个验签的插件,我发现里面有okHttpClient提供了Call.Factory,所以就学习了下okHttp3的用法. 1.概述 okhttp是一个 ...