python学习第二天

1、变量的使用

要使用一个变量必须先将其初始化,即赋值。(不用定义其类型,会自动套用赋值对象的类型,具体看上一篇)

变量使用后,如果不再需要,可以用 del obj 将obj变量删除。如下:

好处是可以释放内存。

2、链式赋值

将同一个对象赋值给多个变量,如:

 3、系列解包赋值

一些列数据赋值给对应个数的变量(前后个数必须对应一致),如:

使用系列解包赋值实现变量互换:(比c简单,不需要借助中间变量)

 4、常量

python不支持常量,即不能靠语法限制改变一个变量的值。只能人为约定某些常量的值不做改变。(即叫你别做修改)

5、数据类型

包括:整型(即整数)、浮点型(即小数)、布尔型(表示真假,仅包括 True,False)、字符串(由字符组成,如12343234,abcd)

对整型和浮点型可进行如下运算:加减乘除(+ - * /)、整数除法(//)(结果只保留整数部分)、取模(%)(即取余数)、幂运算(**)

使用 divmod( a,b ) 可同时获得a除以b所得的商和余数。如:

6、进制和数据类型转换

写二进制数,要0B(0b)开头;写八进制数,要0O(0o)开头;写16进制数,要0X(0x)开头。如:

使用 int() 函数实现 数据类型转换为整数。可以实现包括:

将浮点数转为整数;将布尔值转为0和1,即True为1,Fasle为0;将由数字组成的字符串直接转为对应整数。如:

使用 float() 函数实现 数据类型转换为浮点数。类似上面的int()。

使用 round() 函数实现 四舍五入功能。

注:以上三个函数不会改变原来的对象,而是产生一个新的对象。

7、自动转型

整数和浮点数做运算,结果为浮点数。

8、增强型赋值运算符

9、布尔值

True和False。True表示1、False表示0。他们的本质就是0和1可以当数字使用。常用于比较运算符中。

10、比较运算符

11、逻辑运算符

与或非 即:and or not  

口诀:or见1就停(即返回1),and见0就停(即返回0),否则返回另一值。

12、同一运算符

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

注意:整数缓存问题:python 仅仅对比较小的整数对象进行缓存(范为[-5256])存起来,而并非是所有整数对象,需要注意的是,这仅仅是在命令行中执行,而在 Pycharm 或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。

因为缓存,会导致同一运算符结果不同。如:

应当注意。

13、字符串

字符串要用双引号(或者单引号)引起来使用(定义也是)。

使用 ord() 函数可以把字符转换成对应的Unicode码。(注意只能转换字符,无法转换字符串)

使用 chr() 函数可以把十进制数字转换成对应字符(有点像ord的逆操作)

 1)创建字符串

通过单引号或双引号创建字符串。如:a=’abc’; b=”abc"。使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。如 a ="I'm a teacher!"
连续三个单引号或三个双引号,可以创建多行字符串,适合字符串很长的情况(可以换行定义,而不用连接符)。

允许创建空字符串。

2)字符串长度

使用 len() 函数可以查询字符串长度,如:

3)转义字符

4)字符串拼接 

可以用 +(或者一个空格) 将两边的字符串拼接起来。如:

5)字符串复制

 用 * 实现字符串的复制。

6)打印显示格式调整办法

调用 print 函数时,默认会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符,或者要其他格式。通过参数end =“任意字符串” ,实现末尾添加任何内容,也可以添加转义字符实现多样化输出。如:

7)从控制台读取字符串

使用 input() 函数可以从控制台读取键盘输入的内容。

8、字符串转型

使用 str()函数可以将其他类的数据转成字符串。如:

9、提取字符串中的字符

使用 obj[] 提取 obj中的字符。

字符串的本质就是字符序列,我们可以通过在字符串后面添加 [] [] 里面指定偏移量可以提取该位置的单个字符。
正向搜索:最左侧第一个字符,偏移量是 0(从0开始算起),第二个偏移量是 1,以此类推直到 len(str)-1为止(即到字符串长度减一为止)。
反向搜索:最右侧第一个字符,偏移量是-1(从-1开始),倒数第二个偏移量是-2以此类推直到-len(str)为止。

如:

10、 字符串中字符的替换

使用 obj.replace("obj中想要被替换的字符","替换字符")  实现字符串中字符的替换。如:

注:图中可以看出,在python中字符串一旦定义就是不可变的,虽然replace()函数确实改变了原来的字符串,但是并不会覆盖,即原来的变量还是未改变前的值,就如图中的a。 如果要保存改变后的值,需要重新定义变量。就如这里的b。当然也可以覆盖a,让a指向新的对象,如下:

11、字符串切片slice操作(提取子字符串)

切片操作可以让我们迅速提取子字符串。提取obj中子字符串的标准编写格式为:

                                 obj[起始偏移量:终止偏移量:步长]

注:

且:切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长度-1”会被当成-1。

举例:

12、字符串切割和合并

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

注意:如果分隔符是字符串中的某个元素,则分割后对应该元素位置会被一个空字符串代替

join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。和本篇文章第(4)部分有点类似。具体格式为:

"".join(obj)   #双引号内填自己想要的拼接方式,什么都不加默认直接拼接。

例如:

注:使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join() 函数,因为join() 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝仅新建一次对象,大大缩短时间。

13、字符串的比较

使用同一运算符,详情见本文的12部分。就是用 is 和==

同时,用 in/not in 可以判断某个字符属不属于某字符串。如:

14、字符串查找方法 

方法说明
len(obj)测量字符串obj的长度
obj.startswith("字符串a")判断字符串obj是否以字符串a开头
obj.endswith("字符串a")判断字符串obj是否以字符串a结尾

obj.find("字符串a")

obj.rfind("字符串a")

查找第一次出现字符串a的位置

查找最后一次出现字符串a的位置

obj.count("字符串a")

计算字符串a出现的次数

如:

15、去除首尾信息 

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

16、 大小写转换

对于变量a

函数说明
a.capitalize()产生新的字符串,首字母大写
a.title()产生新的字符串,每个单词都首字母大写
a.upper()产生新的字符串,所有字符全转成大写
a.lower()产生新的字符串,所有字符全转成小写
a.swapcase()产生新的,所有字母大小写转换

17、格式排版

函数说明
a.center(width,"空白填充物")让字符串a中的字符居中
a.ljust(width,"空白填充物")让字符串a中的字符居左
a.rjust(width,"空白填充物")让字符串a中的字符居右

如: 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值