Python(一)

Python程序的构成

1.Python程序由模块组成。一个模块对应python源文件,一般后缀名是:.py

2.模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行

3.语句是Python程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等

使用\行连接符

一行程序长度是没有限制的,但是为了可读性更强,通常将一行比较长的程序分为多行,这是可以使用\行连接符,把它放在行结束的地方。

对象

Python中,一切皆对象。每个对象由:标识(identity)、类型(type)、值(value)组成。

1.标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可返回对象obj的标识。

2.类型用于标识对象储存的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获得对象的所属类型。

3.值表示对象所存储的数据的信息。使用print(obj)可以直接打印出值。

对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。

引用

在Python中,变量也成为:对象的引用。因为,变量存储的就是对象的地址。变量通过地址引用了“对象”。

变量位于:栈内存

对象位于:堆内存

标识符 

用于变量、函数、类、模块等的名称。

有特定的规则:

1.区分大小写。如:sxt和SXT是不同的

2.第一个字符必须是字母或者下划线。其后的字符是:字母、数字、下划线

3.不能使用关键字,如:if、or、while等

4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法,如:_init_是类的构造函数

Python标识符命名规则

赋值及常量

链式赋值

链式赋值用于同一个对象赋值给多个变量。

x=y=123 相当于:x=123;y=123

系列解包赋值

系列解包赋值给对应相同个数的变量(个数必须保持一致)

a,b,c=4,5,6 相当于:a=4;b=5;c=6

常量

Python不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。(常量实际是可以改的,只能逻辑上不做修改)

最基本内置数据类型

最基本的内置数据类型:

1.整型:2345,10,50

2.浮点型:小数,3.14或者科学计数法314e-2

3.布尔型:表示真假,仅包含:True、False

4.字符串型:由字符组成的序列:"abc","sxt"

数字运算

 

0不能作除数,0作除数会报错

使用divmod()函数可同时得到商和余数:

 

整数 

Python中,除10进制,还有其他三种进制:

1.0b或0B,二进制:0,1

2.0o或0O,八进制:0,1,2,3,4,5,6,7

3.0x或0X,十六进制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

类型转换:

使用int()实现类型转换:

1.浮点数直接舍去小数部分 

2.布尔值True转为1,False转为0

3.字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错

自动转型:整数和浮点数混合运算时,表达式结果自动转型成浮点数。

浮点数

浮点数,称为float

类型转换和四舍五入

1.类似于int(),我们也可以使用float()将其他类型转化成浮点数。

2.整数和浮点数混合运算时,表达式结果自动转型成浮点数

3.round(value)可以返回四舍五入的值(但不会改变原有值,而是产生新的值)

增强型赋值运算符

运算符+、-、*、/、//、**和%和赋值符=结合可以构成“增强型赋值运算符”
a=a+1 等价于 : a +=1

时间的表示

Python中可以通过time.time()获得当前时刻,返回的值是以秒为单位,带微秒(1/1000毫秒)精度的浮点值。

布尔值

Python2 中没有布尔值,直接用数字 0表示 False,用数字 1表示 True。

Python3 中,把 True和 False 定义成了关键字,但他们的本质还是1和0,甚至可以和数字相加。

比较运算符

所有比较运算符返回1表示真,返回 0 表示假。这分别与特殊的变量True 和 False 等价。

逻辑运算符 

 

 同一运算符

同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址

is 与 == 区别 :
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认调用对象的eq_()方法。 

字符串

字符串的本质是:字符序列。 

字符串的编码

Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。Python3 的字符默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。

使用内置函数 ord()可以把字符转换成对应的 Unicode 码;使用内置函数 chr()可以把十进制数字转换成对应的字符。

引号创建字符串

通过单引号或双引号创建字符串。例如 : a=’ abc’; b=”sxt'使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。

通过连续三个单引号或三个双引号,可以创建多行字符串。

空字符串和len()函数

Python允许空字符串的存在,不包含任何字符且长度为0

len()用于计算字符串含有多少字符

转义字符

 字符串拼接

1.可以使用+将多个字符串拼接起来。

(1) 如果+两边都是字符串,则拼接

(2) 如果+两边都是数字,则加法运算

(3) 如果+两边类型不同,则抛出异常

2.可以将多个字面字符串直接放到一起实现拼接。

字符串复制

使用*可以实现字符串复制。

不换行打印

通过参数end()="任意字符串",实现末尾添加任何内容

str()实现数字转型字符串

str()可以将其他数据类型转换为字符串

使用[]提取字符

正向搜索:最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。

反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2

 

replace()实现字符串替换 

字符串切片slice操作 

切片 slice 操作可以让我们快速的提取子字符串

标准格式为[起始偏移量 start : 终止偏移量 end: 步长 step]

三个量为整数的情况:

 三个量为负数的情况:

split()分割和join()合并

split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。 

join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。 

常用查找方法 

a=""

len(a)                    字符串长度

a.startswith('')     以指定字符串开头           (判断True/False)

a.endswith('')       以指定字符串结尾          ( 判断True/False)

a.find('')                第一次出现制定字符串的位置

a.rfind('')              最后一次出现制定字符串的位置

a.count("")           指定字符串出现了几次

a.isalnum()           所有字符全是字母或数字( 判断True/False)

去除首尾信息

可以通过 strip()去除字符串首尾指定信息。通过Istrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息。

大小写转换

 格式排版

center()左对齐,ljust()左对齐,rjust()右对齐

其他方法

字符串的格式化 

format()基本用法

基本语法是通过{}和 : 来代替以前的 %

format 函数可以接受不限个参数,位置可以不按顺序

填充与对齐 

填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

数字格式化

浮点数通过f,整数通过d进行需要的格式化,其他格式如下:

运算符

基本运算符

 运算符优先级问题

1.乘法优先加减

2.位运算和算数运算>比较运算符>赋值运算符 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值