目录

1.冯诺依曼体系结构

1.1 计算机能完成的工作

1.2 常见计算机

1.3 计算机构成组件

2.Python背景介绍

2.1 Python的用途

2.2 Python的优缺点

3.基础语法

3.1 常量和表达式

3.2 变量和类型

3.2.1 变量的语法

(二)使用变量

3.2.2 变量的类型

3.2.3 多种数据类型的意义

3.2.4 动态类型特性

3.3 注释

3.4 输入输出

3.4.1 与用户交互

3.4.2 通过控制台输入

3.4.3 通过控制台输出

3.5 运算符

3.5.1 算术运算符

3.5.2 关系运算符

3.5.3 逻辑运算符

3.5.4 赋值运算符

3.5.5 其他操作符


1.冯诺依曼体系结构

1.1 计算机能完成的工作

(1)算术运算 (2)逻辑判断 (3)数据存储(4)网络通信等等;

1.2 常见计算机

(1)台式机 (2)笔记本 (3)手机 (4)服务器 (5)路由器 (6)智能家电等等;

1.3 计算机构成组件

(1)CPU(中央处理器):是计算机的大脑,用于进行各种算术运算与逻辑判断;

注意:显卡的定位与CPU是类似的:CPU是通用计算机芯片,显卡(GPU)是专用计算机芯片;

(2)存储器:分为内存与外存(硬盘、U盘、光盘等):用于存储数据;

注意:内存与外存的区别:

① 内存的存储空间较小,外存的存储空间较大;

② 内存的访问速度快,外存的访问速度较慢;

③ 内存比外存成本高;

④ 内存数据容易丢失,断电即数据消失,外存数据持久化存储,断电数据仍然存在;

但是持久化存储是相对而言的,并非永久性持久,一般机械硬盘存储数据的时间是几年到几十年;

(3)输入设备:键盘、鼠标、麦克风等;

(4)输出设备:显示器、音响、耳机、打印机等;

注意:① 输出设备与输入设备负责与用户进行交互;

② 有的设备既是输入设备又是输出设备,如触摸屏、网卡等等;

2.Python背景介绍

2.1 Python的用途

(1)科学计算与数据分析 (2)Web开发(搭建网站) (3)自动化运维  (4)人工智能

(5)爬虫程序    (6)自动化测试

2.2 Python的优缺点

(1)优点

① 语法言简意赅,容易上手;

② 功能强大,用途广泛;

③ 生态丰富,具有海量的成熟第三方案;

④ 方便调用C/C++编写的代码进行高性能或系统及操作;

(2)缺点

① 执行效率比较弱;

② 对于多核心并发程序支持偏弱;

③ 动态类型系统对于大型项目不太友好;

3.基础语法

3.1 常量和表达式

例1:

1. 注意python与C语言、java等的区别:关于除法运算,python不遵守整数 / 整数 结果仍为整数,将小数部位舍弃的规则。

2. 编程中一般不存在四舍五入的规则。

例2:请编写代码求67.5,89.0,12.9,32.2四个数的平均值

print((67.5+89.0+12.9+32.2)/4)

3.2 变量和类型

例1:请编写代码求67.5,89.0,12.9,32.2四个数的方差

ave=(67.5+89.0+12.9+32.2)/4
total=(67.5-ave)**2+(89.0-ave)**2+(12.9-ave)**2+(32.2-ave)**2
result=total/4
print(result)

其中,ave,total,result都是变量

3.2.1 变量的语法

(一)定义变量

a=10

(1)变量命名规则:

① 变量必须由字母、数字、下划线构成,不能包含特殊符号如*等;

② 数字不能开头;

③ 变量名不能和python的关键字重复;

④ 变量名是大小写敏感的,如num和Num是两个不同的变量;

(2)变量命名建议:

① 命名变量时,尽量使用描述性单词来表示,尽量通过名字表现出变量的作用,如计数变量命名为count;

② 当使用一个单词描述不清楚时,可以用多个单词来命名,而包含多个单词时,命名有多种规范:如驼峰命名 personInfo,totalCount;蛇形命名person_info,total_count

(二)使用变量

(1)读取变量的值

a=10
print(a)

(2)修改变量的值

a=20
print(a)

注意:① 赋值与修改变量的运算符都是=,首次使用=对a进行设置值,这个过程是创建变量(初始化),后续再使用=操作,则是修改a的内容(赋值) ;

② 也可以将一个变量的值赋值给另外一个变量:

a=10
b=20
a=b
print(a)
print(b)

3.2.2 变量的类型

变量内可以存储各种类型的数据,为了区分不同种类的数据,引出变量类型的概念:

(1)整数 int

a = 10
print(type(a))

输出结果为:

在python中,int能够表示的数据范围是无穷的,可以根据要表示的数据的大小自动扩容的,这与java等语言存在不同,故而python中也没有long / short类型;

(2)浮点数 float

b = 0.5
print(type(b))

输出结果:

在C++和Java中,float占用四个字节,也称为单精度浮点数,也有占有八个字节的double,称为双精度浮点数。而在python中的float是双精度浮点数,故而python中不存在double类型;

(3)字符串

字符串中的字符可以是英文字母、阿拉伯数字、标点符号、汉字符号等等都是字符,python规定:字符需要使用引号(单双引号均可)引起字符

c = 'hello'
d = "hello"
print(type(c))
print(type(d))

输出结果为:

注意: ① str是字符串英文string的缩写形式;

② python中字符串规定单双引号均可用于引用,可以避免字符串中含有一种引号而产生冲突:

e = "Jane says "hello""

若书写为上行形式,python编译器会将Jane says视为一个字符串,行末的""视为第二个字符串,夹杂在在两个字符串之间的hello会被认为是编写错误;

此时若引用字符串的引号采用单引号就可以避免该问题:

e = 'Jane says "hello"'

故而如果字符串中包含双引号,字符串就可使用双引号引用,反之则使用单引号;

如果字符串中既含有单引号,又含有双引号,则可以使用三引号表示: " " " 或 ' ' ' ,如:

f = ''' 'Jane' says "hello" '''
print(f)

运行结果为:

④ 字符串有两个常用的函数:

a. 字符串长度计算函数: len( )

c='hello'
print(len(c))

输出结果为:

b. 字符串拼接函数:  +

a1 = 'hello'
a2 = 'world'
print(a1 + a2)

输出结果为:

注意:字符串与数字是不可以混合相加的:如b1='hello'和b2=10是不能直接相加的:

试运行报错如下:

concatenate意为拼接;

(4)布尔 

布尔类型的取值有两种:True(真)和 False(假),故而主要用于逻辑判定;

a = True
print(type(a))
b = False
print(type(b))

输出结果为:

(5)其他

除了上述类型之外,还有lsit dict等自定义类型,后续再进行介绍;

3.2.3 多种数据类型的意义

(1)不同的类型所占用的内存空间是不同的,int 默认是4个字节且可动态扩容,float 固定8个字节,bool占1个字节,str 是一个边长变量

(2)不同类型对应的操作是不同的:int / float 可以进行+ - * / 等操作,但str只可以+,但可以使用len函数进行求长度操作;

3.2.4 动态类型特性

在python中,程序运行过程中,变量的类型可能会发生改变

a = 10
print(type(a))
a = 'hello'
print(type(a))

运行结果为:

注意:① 相对应的,在如C++等语言中的变量在运行过程中类型是不改变的,称为静态类型;

一个编程语言是否是动态类型只取决于运行时类型是否发生改变,不取决于变量定义时是否声明类型:python作为一个动态类型的语言,其实在定义变量时也是可以声明类型的,如::

a: int = 10
print(type(a))
a: str = 'hello'
print(type(a))

输出结果为:

③ 动态写法比较灵活,提高了语言的表达能力,但也更容易出错;

3.3 注释

注释不会影响代码的功能或是参与代码的运行,但是可以起到解释说明的作用,提高代码可读性:

(1)注释行:使用#开头的行都是注释

# 这是一行注释

(2)文档字符串:使用三引号引起来的成为“文档字符串,也可以视为一种注释”

"""
这是文档字符串
这是文档字符串
"""

可以包含多行内容,一般放在文件、函数、类的开头," " "或' ' ' 均可;

3.4 输入输出

3.4.1 与用户交互

计算机通过键盘、鼠标等操作,把操作结果显示到屏幕上,把用户能输入命令,向计算机安排工作,计算机再将结果显示出来这样的程序,称为控制台。

对于windows系统,开始键+R打开运行窗口,输入cmd后打开windows自带的控制台。

在pycharm内部集成了一个控制台。

控制台是一种人与计算机交互最基础的方式,但在日常生活中并不常用,因为需要命令来操作。相比之下,更常用的交互方式是图形化界面。

3.4.2 通过控制台输入

python使用input函数从控制台读取用户的输入:

a = input("请输入数值:")
print(type(a))
print(f"输入的数字是:{a}")

输出结果为:

注意:① input执行时会持续等待用户输入;

input返回值其实是一个字符串,故而如果只是拿到用户输入进行打印,直接按照str打印即可

如果需要根据用户输入的内容进行算术运算,就需要将读取到的str转化为int型数据,可以使用int()进行类型转换

当不进行类型转换时,编译器会将输入的a b均视为字符串类型,+后进行拼接操作:

a = input("请输入第一个整数:")
b = input("请输入第二个整数:")
print(f"a+b={a+b}")

运行上文代码,输入为a=10,b=20,输出结果为:

当进行类型转换时,运行如下代码:

a = input("请输入第一个整数:")
b = input("请输入第二个整数:")
a = int(a)
b = int(b)
print(f"a+b={a+b}")

输出结果为:

③ 转化为字符串为str() ,转化为浮点数为float() ;

3.4.3 通过控制台输出

python使用print函数输出到控制台:格式化字符串 f-string (format-string)

可以使用{ }往字符串里嵌入变量或表达式

a = 10
print(f"a={a}")
print(f"a={a+10}")

输出结果如下:

例题:请编写代码求输入四个数字的平均值:

a = input("请输入第一个数字:")
b = input("请输入第二个数字:")
c = input("请输入第三个数字:")
d = input("请输入第四个数字:")
a = float(a)
b = float(b)
c = float(c)
d = float(d)
ave = (a+b+c+d)/4
print(f"平均值是:{ave}")

输出结果如下:

3.5 运算符

3.5.1 算术运算符

像+  -  *  /  %(取余)  **(平方)  //(地板除法)  等进行算数运算的运算符,称为算术运算符;

注意: ①先算乘方,再是乘除,最后是加减,可增加括号以修改运算顺序:

x = 1 + 2 * 3
print(f"x={x}")
y = (1 + 2) * 3
print(f"y={y}")

输出结果为:

② / 中不能用0作为除数,否则会抛出异常:

print(10/0)

输出结果如下:

这种运行时出现的错误也称为抛出异常,后续代码便不会再执行;

在python中,一个非零数除以0.0,同样是除零错误抛出异常,而在某些编程语言中,非零数除以0抛出异常,但除以0.0会得到无穷大;

③ 除法的截断问题:

整数 / 整数 :除不尽得到小数,不出现截断情况

④ % 是取余运算符,也称为取模运算符:

print(10 % 3)
print(2 % 3)

输出结果为:

⑤ ** 既支持整数次方,也支持小数次方(开方运算)

print(4**2)
print(4**0.5)
print(16**0.25)

输出结果为:

// 表示地板除法,也称为取整除法,会针对计算的结果进行“向下取整”

print(7 // 2)
print(-7 // 2)

输出结果为:

注意正负数“向下”的不同意义。

3.5.2 关系运算符

比较两个操作数之间的“大小”“相等”诸如此类关系的运算符,如:<   <=  >  >=  ==   !=

注意:① 关系运算符对应的表达式值是布尔类型:

a = 10
b = 20
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)
print(a == b)

输出结果为:

② 关系运算不仅针对数字进行比较,还可以比较字符串:

数字比较大小,字符串比较的是字典序:

a = "hello"
b = "world"
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)
print(a == b)

字典序即从首元素依次开始对应比较,根据字典查找序列,越靠前越小,越靠后越大

输出结果为:

但是按照默认字典序而言,比较中文字符串是没有意义的;

同时相较于C语言,字符串内容比较需要使用strcmp函数,直接使用==本质上是在比较两个字符串的首元素地址,相较于java,字符串比较需要使用equals方法,如果直接使用==本质上在比较这两个字符串是否是同一个对象;

但是其实像C语言、java这样的方法是小众的方法,像python这样直接使用==和!=来判断比较字符串内容的才是大多数编程语言遵守的规则;

③ 针对浮点数,使用==比较相等存在一定风险:浮点数在内存中的存储和表示可能存在误差,进行算数运算时可能会放大,从而导致==发生误判:

print(0.1+0.2 == 0.3)
print(0.1)
print(0.2)
print(0.1+0.2)

输出结果为:

正确比较浮点数相等的方法:作差后看差值是否小于预期的误差范围

a = 0.1+0.2
b = 0.3
print(-0.000001 < (a-b) < 0.000001)

(连续判等写法在C语言中是不允许的,但是在Python中是允许的)

输出结果为:

3.5.3 逻辑运算符

像and or not这一系列的运算符称为逻辑运算符:

and:并且,两侧操作数均为true最终结果为true,否则为false

or:或者,两侧操作数均为flase,结果为false,否则为true

not:逻辑取反,操作数本身为true,则返回false,本身为false,返回true

a = 10
b = 20
c = 30
print(a < b and b < c)
print(a < b and b > c)
print(a > b or b < c)
print(a > b or b > c)
print(not a > b)
print(not b < c)

输出结果为:

同时请注意:

a.   a<b<c等价于a<b and b< c

b.   在C语言、C++、java中&&表示逻辑与,||表示逻辑或,!表示逻辑取反

c.   逻辑运算符的重要细节:短路求值

如:and运算符左侧操作数若为false,则整体值一定为false,右侧表达式无需求值;

or运算符若左侧表达式为true,则整体值一定为true,右侧表达式无需求值;

print(a > b and 10/0 == 1)

基于a=10,b=20,c=30 试运行以上代码,因为左侧a>b结果为false,输出结果就为false,右侧并没有进行计算,故而编译器没有报错;

3.5.4 赋值运算符

(1)=的使用

① 链式赋值:

a = b = 10

先把10赋值给b,再把b赋值给a;

② 多元赋值(同时赋值):

a, b = 10, 20

将10赋值给a,20赋值给b;

需要完成两个变量的交换时,可以书写为:

a, b = 10, 20
a, b = b, a
print(a, b)

(2)复合赋值运算符

复合赋值运算符如+=   -=    *=   /=   %=

a+=1 等同于a=a+1;其他复合运算符同理:

a = 10
a *= 2
print(a)
a /= 2
print(a)
a %= 4
print(a)
a **= 2
print(a)

输出结果为:

在C语言中,变量自增a+=1也可以表示为a++,但是在python中不支持此类++--的自增自减操作,

代码书写出现a++、a--时会报错,++a\--a不会报错但原因是编译器将+视为了正号,-视为了负号;

3.5.5 其他操作符

在python中还有一些运算符,如身份运算符(is ,is not),成员运算符(in, not in),位运算符(&  |  ~ ^ <<  >>)等等。

附:

python快捷键:

(1)运行:Ctrl+Shift+F10

(2)批量注释与还原:Ctrl + /

【Python】_1.Python基础语法相关推荐

  1. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  2. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  3. python编程if语法-Python编程入门基础语法详解经典

    原标题:Python编程入门基础语法详解经典 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_number = ...

  4. python编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  5. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  6. python基础编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  7. python基础编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  8. python学习三-基础语法

    python学习三-基础语法(2019-12-24日晚) 1.源码文件 Python源码文件名通常采用小写的方式,常见的扩展名有: py:基本的源码扩展名. pyw:是另一种源码扩展名,跟py唯一的区 ...

  9. Python入门之基础语法

    Python入门之基础语法 行与缩进 #有错误的函数1 def wrong1():print("wrong1")print("这里有一个错误缩进")#有错误的函 ...

  10. 风变python小课 基础语法12 作业1_菜鸟的风变编程Python小课之路,这么学编程也可以?...

    原标题:菜鸟的风变编程Python小课之路,这么学编程也可以? 作为职场菜鸟,我感觉我就是现实生活里的孙弈秋,虽然学历没有他那么惨,但是在公司总感觉不那么受待见,可能因为我们这个行业本身竞争大吧,领导 ...

最新文章

  1. mac 端口转发方案
  2. Ubuntu 14.04 64位上安装Valgrind 3.13.0 操作步骤
  3. 网络协议命令行处理c语言程序解析,网络协议工程SPIN实验报告剖析.doc
  4. PPT 下载 | 神策数据孙文亮:客户全生命周期管理从方法到实践全解析
  5. 最大匹配 人员分配[邻接表]
  6. 互联网1分钟 | 0410 腾讯QQ上线陌生人社交入口“扩列”测试;支付宝小程序与UC浏览器打通...
  7. vue.js初识(一)
  8. 来自顶级名校推荐的英文书单,留着慢慢啃!
  9. MySql 查询显示
  10. python提取视频中的音频 代码_如何使用python从视频文件中提取音频?
  11. zplane函数怎么用m文件调用_matlab中cla用法
  12. Nginx 系列:Nginx 实践,location 路径匹配
  13. Monte Carlo Algorithms
  14. python识别图片轮廓_教你用Python+opencv来识别物体的轮廓并标识显示
  15. PowerDesigner 15及破解补丁_PowerDesigner 12.5及破解补丁_PowerDesigner破解版_PowerDesigner下载
  16. 【Linux内核】内存管理——内存回收机制
  17. iOS多线程简单理解
  18. 离线安装ruby、rubygems
  19. 【爬虫】学习:aiohttp异步爬取
  20. 微信登陆接收不到onResp回调

热门文章

  1. 微软的免费杀毒软件!
  2. Android多人视频聊天应用的开发(三)多人聊天
  3. 强烈推荐一款国产物联网实时操作系统RT-Thread
  4. c 自动打印的服务器,您必须手动重新启动 APPC 打印会话对 AS/400 时配置打印会话重试设置为无限主机集成服务器 2009 年...
  5. 项目:基于ffmpeg的Gif表情包生成器
  6. QQ音乐与网易云音乐的比较
  7. 性能测试监控工具Server Agent无法监控资源,jmeter报错
  8. ubuntu下的截图和图像编辑软件推荐
  9. QT painter控件绘制指示灯
  10. 仿站长之家查询源码php,仿站长之家博客 织梦IT资讯博客源码 v1.0