Python 介绍,基本语法(动态类型...),基本数据结构(字符串...),输入/输出,运算(基本运算,乘方,关系,逻辑),多元赋值

目录

python

介绍

概念

优缺点

应用场景

基本语法

语句之间

创建变量

动态类型

介绍

缺点

静态类型

注释

行注释

文档字符串

基本数据结构

int

float

字符串

类型

表示

len(字符串)

split()

startwith()

join()

bool类型

输入/输出

介绍

输入

输出

运算

4种基本运算(+ - * /)

乘方运算

地板除法

复合运算

自增运算

关系运算符

逻辑运算符

赋值

连续赋值

多元赋值


python

介绍

概念

优缺点

应用场景

基本语法

语句之间

每个语句之间可以用 ; 隔开,也可以不加

  • 一般情况是不用加的
  • 但如果把多个语句写在同一行,一定要用;隔开

创建变量

变量用于保存计算过程中的中间结果

  • 和其他语言不同,变量不需要设置类型,由初始化值的类型来决定
  • 当然,也可以声明类型,这样可读性更好,格式 -- 变量名:变量类型 = 初始值

使用同一个变量名,可以创建出一个新变量,也可以对[已经创建出的变量]重新赋值

动态类型

介绍

在python中,变量的类型可以在程序运行过程中发生变化

  • 可以通过赋不同类型的值,来改变变量的类型

但这种特性和它[定义变量时可以不声明类型]的特性无关

  • 因为python也是可以显式声明类型的,即使加上,也不会影响动态类型的特性
缺点

在多人协作开发的程序中,会增加沟通成本

  • 因为不确定需要传入什么类型的变量

一个产品创业之初,可能会使用python进行开发

  • 因为比较灵活,可以很快开发出一个雏形
  • 但随着规模增大,就需要用其他语言来对使用了python的模块进行重构
静态类型

程序运行过程中,变量的类型始终不变

  • 比如c++中的变量  

注释

行注释

以#开头

批量注释 -- ctrl /

文档字符串

""" / '''

xxx

""" / '''

  • 总之就是用三引号引起来(单引号/双引号形式的三引号都可以)

里面的内容可以被python解释器识别

基本数据结构

通过type()函数,可以拿到传入变量的类型

python中的一个设计哲学 -- 解决一个问题,只提供一种方案

  • 所以基本上,一种类型只会有一种表示

int

python中的int可以表示的范围是无穷的

  • 默认大小是4个字节,但它会根据当前要表示的数据大小自动扩容

所以在python中,表示整数统一使用int

  • 其他语言中的各种类型都不存在
  • 比如short,long...

float

python中的float就是双精度浮点数

  • 等同于其他语言中的double,都占用8个字节
  • 所以,python中浮点数的表示统一使用float类型

字符串

类型

用string的缩写str作为字符串的类型

表示

通过单引号/双引号将一系列字符引起来 

  • 因为python没有字符类型,所以' '和" "都可以用来表示字符串

如果想让字符串内部本身含有单引号/双引号,就用对应的另一种方式来表示字符串

  • 比如 "i am 'king' "

如果字符串内容同时含有单引号和双引号,可以使用三引号表示 ''' 

len(字符串)

返回字符串长度

split()

使用split(分隔符,最大分割次数)方法

分隔符

  • 可以将字符串以指定分隔符进行切分
  • 如果不传入分隔符,默认以空白字符作为分隔符 -- 空格、换行、制表符等

最大分割次数

  • 分割的次数达到maxsplit后,剩余部分将作为最后一个元素
  • 默认是-1,表示没有限制

列表结构返回

startwith()

使用startwith(子串)方法,可以判断[传入的子串]是否是[调用该方法的字符串]的前缀

  • 一个字符串的前缀 -- 出现在字符串开头的子字符串
  • 子字符串 -- 一个字符串中的连续一段字符序列
join()

使用join(列表)方法,将列表中的内容进行合并

  • 返回一个字符串

bool类型

取值有True , False

  • 注意这里是大写!

输入/输出

介绍

这里介绍的是通过控制台交互的函数

控制台操作 -- 人机交互的最基础的方式

  • 本身是机械上的概念 -- 机械的操作面板叫做操作台,台面上会有按钮,开关,操作杆
  • 在计算机中是通过键盘,鼠标来控制,把操作结果显示到显示器上

输入

input(字符串)

  • 字符串用于在输入前打印出一些格式化语句
  • 返回值是字符串类型 -- 返回用户输入的数据

会像c中的scanf一样,阻塞等待至用户输入内容

如果需要使用这个数据,可以进行类型转换 

  • 比如int(),str(),float()...

输出

print()

  • 可以打印出变量值/函数返回值
  • 其中,end是print()函数的一个参数,用于控制输出后添加的内容(默认是'\n')
  • print("hello", end='')

如果想要格式化显示(数字和字符串混起来打印)

  • 需要使用格式化字符串 -- f-string (3.6版本提供)
  • f -- format
  • f "xxx{ 想要嵌入在字符串中的变量/表达式 }xxx"

也可以打印多个变量

  • 变量之间用,相隔
  • 输出时会自动添加空格作为分隔符

运算

4种基本运算(+ - * /)

在python的整数运算中:

  • 当整数/整数时会出现小数时,并不会像c++一样直接舍弃小数,而是保存小数位
  • 又因为小数在计算机内存中是以浮点数形式存在的,它有专门的规则 -- IEEE754标准,所以存放小数时可能会出现微小误差

python允许字符串使用+进行拼接 

乘方运算

**

  • 既可以乘方,也可以开方
  • **2 =^2
  • ** (1/2) = 开根号2

地板除法

//

  • 也就是向数轴的下方取整
  • 类似于c++里的除法 

复合运算

允许复合运算符,也就是将算术运算符和赋值符号相结合

  • *=  **=  //=  ...

自增运算

python中不允许自增操作

  • 虽然不允许,但使用前置++不会报错 -- 前置++/-- 会被认为是正号/负号,操作后结果不变
  • 使用后置++/--是会报错的

关系运算符

可以通过关系运算符直接比较字符串

  • 字符串的比较按照字典序比较
  • 其中,基于中文的比较是没有意义的 -- 因为中文字符在计算机中是用多个字节来表示的一个大数字,它的比较在字典序上是没有意义的

并且,在python中判断字符串是否相等时,是可以直接用== 和 !=的

  • 但在c++中不可以,只能通过调用函数接口来实现,如果直接使用运算符,比较的是字符串中首元素的地址大小

对于浮点数,直接使用运算符比较大小存在风险

  • 因为浮点数存储本身就存在误差,如果进行运算,会进一步放大误差
  • 比如 0.1+0.2 是否等于 0.3 ?
  • 通过图可以看出来,直接的比较是不行的,一点点误差都会被认为是不相等

所以,我们可以作差,比较差值是否在误差范围内

  • 如果a-b在(-0.000001,0.000001)之间,就认为这两个数是相等的
  • 注意,这种连续比较的写法只在python中支持,c++中两个条件的比较需要使用&&来连接

逻辑运算符

与或非的写法是 -- and or not

  • 和mysql中的逻辑运算符相同
  • 在c++中是&& || !

赋值

连续赋值

允许连续赋值

  • a=b=10
多元赋值

允许在一行内为多个变量赋值

  • a,b=10,20 等价于 a=10,b=20

可以实现特殊功能

  • 比如交换变量中的值 -- a,b=b,a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值