Python基础知识(1)

Python基础知识(1)

Python教程文档:【PythonPython3

1、Python基础介绍


1.1 发展的历史

  • python是1980s(20世纪80年代)开始构想的,1989年被Guido van Rossum(吉多·范·罗苏姆)在荷兰国家数学和计算机科学研究所设计出来的,作为ABC编程语言的继承者。
  • 自从2004年以后,python的使用率呈线性增长。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
  • Python因大数据,云计算等出现呈现井喷式的增长,现在主要应用领域:
    • 云计算:云计算最热的语言,典型的应用OpenStack
    • WEB开发:许多优秀的WEB框架,许多大型网站是Python开发、YouTube、Dropbox、Douban……典型的Web框架包括Django
    • 科学计算和人工智能:典型的图书馆NumPy、SciPy、Matplotlib、Enided图书馆、熊猫
    • 金融:定量交易、金融分析,在金融工程领域,Python不仅使用最多,而且使用最多,其重要性逐年增加。

1.2 特性

  • 优点
    • 简单易学:Python是一种代表简单主义思想的语言,有极其简单的说明文档
    • 易读性:代码定义的更清晰,有限制性很强的语法,使代码清晰易读
    • 易于维护:源代码容易维护。
    • 可扩展性:胶水语言,如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,可用其他语言完成那部分程序,然后从你的Python程序中调用。
    • 可移植:可以将Python移植到许多平台。
    • 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、 FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作…
    • 面向对象:适合面向对象的编程(OOP)
  • 缺点
    • 单行语句和命令行输出问题
      很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便
      的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
    • 和C程序相比非常慢
      Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时。

1.3 环境配置

1.4 通用知识

	1.4.1  转义字符

在这里插入图片描述

	1.4.2  输入输出语句
  • 输入语句

    • ** = input(“请输入…”) 输入的为一个字符创,如需要可进行格式转换
  • 输出语句

    • 打印后换行 print()
    • 打印后不换行 print("",end="") end默认为"\n"换行,,可用其他的转义字符替换*
    • 格式化打印
      • print(“a=”,变量名)
        在这里插入图片描述

      • print("%d+%d=%d"%(a,b,c)) 将%()里的数据按顺序显示
        在这里插入图片描述

      • print("{1}+{0}={2},{0}是a".format(a,b,c)) 012代表format()里参数的顺序,可改变位置,fromat代表一个方法

在这里插入图片描述

- print("{1}+{0}={num1},{num1}是自定义的".format(a,b,num1=??))   `01代表format()里参数的顺序,可改变位置,fromat代表一个方法,num1为format自定义的参数`

在这里插入图片描述

- print(f."")  `f代表的就是format方法,相当于简写`

在这里插入图片描述

	1.4.3  代码注释
  • 单行注释

    ​ #注释一行

  • 多行注释

    ​ ‘’‘单引号,注释多行’’’ 或 “”“双引号,注释多行”""

在这里插入图片描述

	1.4.4  行与缩进

​ python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}

​ 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
在这里插入图片描述

	1.4.5  多行语句

​ Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
在这里插入图片描述

​ 但是在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \

2、标识符和关键字


2.1 标识符

​ 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,但名字不能和关键字相同

  • 标识符组成
    • 字母 区分大小写
    • 数字 不能以数字开头
    • 下划线:下划线开头的有特殊的意义:
      • _xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入
      • __xx,表示私有成员
      • __xx__,表示 Python 中内置标识

2.2 关键字

关键字含义
False布尔类型的值,表示假,与True相对
None为空,自己的数据类型NoneType
True布尔类型的值,表示真,与False相反
and用于表达式运算,逻辑与操作
as用于类型转换
assert断言,用于判断变量或者条件表达式的值是否为真
break中断循环语句的执行
class用于定义类
continue跳出本次循环,继续执行下一次循环
def用于定义函数或方法
del删除变量或序列的值
elif条件语句,与if、else结合使用
else条件语句,与if、else结合使用 ,也可用于异常和循环语句
except包含捕获异常后的操作代码块,与try、finally结合使用
finally用于异常语句,出现异常后,始终要执行finally包含的代码块,与try、except结合使用
forfor循环语句
from用于导入模块,与import结合使用
global定义全局变量
if条件语句,与elif、else结合使用
import用于导入模块,与from结合使用
in判断变量是否在序列中
is判断变量是否为某个类的实例
lambda定义匿名函数
nonlocal用于标识外部作用域的函数
not用于表达式运算,逻辑非操作
or用于表达式运算,逻辑或操作
pass空的类、方法或函数的占位符
raise异常抛出操作
return用于从函数返回计算结果
try包含可能会出现异常的语句,与except、finally结合使用
whilewhile循环语句
with简化Python的语句
yield用于从函数依次返回值

3、变量与常量


3.1 变量

​ 变量是内存中命名的存储位置,变量的值是可以动态变化的

	3.1.1  变量的命名
  • 命名规则如下
    • 量的名字的第1个字符必须是字母或下划线(_);
    • 第1个字符后边可以使由字母、下划线(_)、或数字(0~9)组成;
    • 关键字不能用于声明变量;
    • 对变量进行赋值时,使用单引号和双引号的效果是完全一样的;
    • 字母严格区分大小写的
  • 命名风格
    • 驼峰法
    • 纯小写加下划线(推荐使用)
  • 变量的定义
    • 主要有三部分组成: 变量名、赋值符号、值: 变量名 = value
  • 赋值规则
    • 直接赋值 a=1 结果:1
    • 链式赋值 a=b=c=1 结果:a=1,b=1,c=2
    • 序列解包赋值 a,b,c = 1,2,3 结果:a=1,b=2,c=3
	3.1.2  变量值的特性
  • id:可以取出变量名指向的内存地址
    • a=10 id(a) a=12 id(a) 两次取出的值不同,返回的是保存值的地址
  • type:表示变量值的数据类型
    • a = 10 type(a) a=“aaa” type(a) 第一次结果为int ,第二次结果为str 返回的为所赋值的数据类型
  • value:表示变量值的状态大小
    • a = 10 value代表的就是a的值为10
	3.1.3  变量的作用域
  • 局部变量
    • 声明在函数或者中的变量都是全局变量,只在其内部有效。
    • 局部变量的作用域是从声明开始到函数结束
  • 全局变量
    • 函数体外定义的变量
    • 函数体内定义的变量,并且使用global关键字修饰后的变量
    • 全局变量的作用域范围是从声明开始,到整个文件结束
  • 注意
    • 如果全局变量和局部变量同名,那么在局部变量作用域中使用的是局部变量;外部使用的是全局变量
    • 函数的形参就相当于声明在函数中的变量,所以是局部变量
	3.1.4  匿名变量(lamnda)

​ 匿名变量是指没有名字的函数,适合在需要一个函数,但是又不想去给这个函数命名。通常,这样的函数只使用一次。

  • 语法格式

    • 变量名 = lambda 形参列表:返回值
      • 变量:用于调用lambda表达式
      • lambda -:声明匿名函数的关键字
      • 列表:可选参数,用于指定要传递的参数列表
      • 返回值:相当于普通函数中只有一条return语句的函数体,,如果有参数,那么在该表达式中会引用这些参数。
  • 例子

    • A = lambda a,b : a+b print(A(2,4)) 结果:6

      lambda需要定义一个变量,否则输出结果不符合预期。

  • 注意

    • 匿名函数的参数也可以设置默认值
    • 匿名函数不能说明参数类型
    • 匿名函数可以设置不定长参数

3.2 常量

​ 常量指的是在程序运行中不会变化的量,是内存中用于保存固定值的单元;
​ 在python中没有专门的语法定义常量,通常用全部大写的标识符来表示常量,但在实际项目中,常量首次赋值后, 无法阻
止其他代码对其进行修改或删除。

4、运算符


4.1 常用运算符

	4.1.1  算术运算符
运算符描述实例
+加 - -数字类型相加,字符的拼接a=10,b=10 a+b=20a=“qw”,b=“as” a+b=“qwas”
-减 – 两个数相减、求负的运算符a=10,b=5 a-b=5、a=-5 ,a=-a a=5
*乘 – 两个数相乘、返回一个被重复若干次的字符串a=10,b=5 a*b=50、a=“a1” ,a=a*3 a=“a1a1a1”
/除- - 正常的数学除法(即除不尽时,会产生小数部分)a=10,b=5 a/b=2a=10 b=4 a/b=2.5
%求余运算符 - -返回除法的余数a=5,b=3 a%b=2
**幂 - 返回x的y次幂5**3=5的3次方为125
//取整除 - 返回商的整数部分9//2 输出结果 4 ,9.0//2.0 输出结果 4.0
	4.1.2  比较运算符
运算符描述实例 a=5 b=10
==等于 – 比较对象是否相等(a == b) 返回 False。
!=不等于 - -比较两个对象是否不相等(a != b) 返回 True。
>大于 - -返回前面的是是否大于后面的数(a > b) 返回 False。
<小于 - 返回前面的是是否小于后面的数。(a < b) 返回 True。
>=大于等于 - 返回前面的是是否大于等于后面的数(a >= b) 返回 False。
<=小于等于 - 返回前面的是是否小于等于后面的数(a <= b) 返回 True。
	4.1.3  赋值运算符
运算符描述实例 a=10 b=5
=简单的赋值运算符c=a+b 将 a+b的值15赋值给c
+=加法赋值运算符a += 5<==>a = a+5 将15赋给a
-=减法赋值运算符a -= 5<==>a = a-5 将5赋给a
*=乘法赋值运算符a *= b <==>a = a * b 将50赋给a
/=除法赋值运算符a /= b <==> a = a /b 将2赋给a
%=取模赋值运算符a %= b <==> a = a % b 将0赋给a
**=幂赋值运算符a****= b<==> a = a ** b 10的5次方赋给a
//=取整除赋值运算符a //= b 等效于 a = a // b
	4.1.4  位运算符
运算符描述实例 a = 60 #二进制为 0011 1100
b = 13 #二进制为 0000 1101
&按位与运算符:两个值,两个二进位都为1,则该位的结果为1,否则为0(a & b) 输出结果 0000 1100
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 0011 0001
~按位取反运算符:对数据的每个二进制位取反,即把1变0,把0变1(~a ) 输出结果 1100 0011
<<左移动运算符:运算数的各二进位全部左移若干位,高位丢弃,低位补0。a << 3 输出结果 1111 0000 0
>>右移动运算符:运算数的各二进位全部向右移若干位a >> 3 输出结果 0000 0111
	4.1.5  逻辑运算符
运算符描述实例 a=true b=false
and 与布尔"与" ——一假则全假,全真才为真a and b 结果:false
or 或布尔"或" ——一真则为真,全假则为假a or b 结果:true
not 非布尔"非" ——取相反值,假变真,真变加not a 结果:false
	4.1.6  成员运算符
运算符描述实例 x 在 y 序列中
in如果在指定的序列中找到值返回 True,否则返回 False。x in y 结果 : true
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x not y 结果:false

在这里插入图片描述

	4.1.7  身份运算符
运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
  • is

在这里插入图片描述

  • is not
    在这里插入图片描述

4.2 运算符的优先级

从最高到最低优先级:

运算符描述
**指数 (最高优先级)
~ + -按位取反运算符, 一元加号和减号 (正负号)
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 ‘AND’
^ |位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰 羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值