欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python基础语法(赋值、数据运算、数据类型转换、字符串各种操作)

程序员文章站 2023-11-13 14:09:16
Python基础第二节链式赋值、系列解包赋值、常量链式赋值:x=y=123 相当于x=123;y=123系列解包赋值:a,b,c=4,5,6 相当于a=4;b=5;c=6用系列解包赋值实现变量值互换:a,b=b,aPython不支持定义常量。内置数据类型和基本算术运算符变量类型:整型、浮点型、布尔型、字符串型基本算术运算符:+、-、*、/(浮点数除法),//(整数除法)、%(取余)、**(幂)divmod(x,y):获得商和余数组成的元组整数的不同进制+类型转换除十进制外、还有二进制、...

Python基础第二节

链式赋值、系列解包赋值、常量

链式赋值:x=y=123 相当于x=123;y=123
系列解包赋值:a,b,c=4,5,6 相当于a=4;b=5;c=6
用系列解包赋值实现变量值互换:a,b=b,a
Python不支持定义常量。

内置数据类型和基本算术运算符

变量类型:整型、浮点型、布尔型、字符串型
基本算术运算符:+、-、*、/(浮点数除法),//(整数除法)、%(取余)、**(幂)
divmod(x,y):获得商和余数组成的元组

整数的不同进制+类型转换

除十进制外、还有二进制、八进制、十六进制(可方便进行位运算)。
二进制:0B开头
八进制:0o开头
十六进制:0x开头
(以上字母大小写均可)

其他类型转换为整型:int()
int(浮点数):取整数部分
int(布尔型):True转为1,False转为0
int(字符串):若字符串为’整数’,则直接转为整数;否则报错。

自动转型:整数与浮点数混合运算,结果直接转为浮点数。

浮点数自动转换和强制转换

浮点数在内存中用科学计数法表示(如3.14:314E-2)

类型转换:float()
如:float(3),并非改变了3这个对象的数据类型,而是生成了1一个新的对象:浮点数3.0
round(): 返回四舍五入后的值

时间的表示

unix时间点:1970年1月1日00:00
import time
time.time() #获取当前时刻,返回以秒为单位的浮点数

布尔值

Python3中把布尔值定义成了关键字,但本质是0与1,可与数相加。

同一运算符

比较两个对象的存储单元,实际比较的是对象的地址。
is:判断两个标识符是否引自同一对象
is not:判断两个标识符是否引自不同对象
(而==只是比较引用对象的值是否相等,默认调用对象的__equ__()方法。

注:

  1. 小整数对象[-5,256]在全局解释器范围内被放入缓存重复使用(仅在命令行执行时是如此。若是保存为文件或在pycharm中执行,则范围变为[-5,任意正整数]。
  2. is比==效率高,变量和None进行比较时,应使用is。

字符串

字符序列,不可变,无法对原字符串做任何修改。
字符串编码:Unicode字符集(16位)
ord(): 将字符转换为对应unicode码
chr(): 将十进制数字转换为对应字符

字符串本身有双引号:用单引号创建
字符串本身有单引号:用双引号创建
连续三个单引号或双引号可创建多行字符串。

字符串拼接:‘a’+‘b’ 得到’ab’
‘a’‘b’ 得到’ab’

字符串复制:3*‘a’ 得到’aaa’

转义字符

使用“+特殊字符”,实现某些效果。如:
\(在行尾时):续行符
\:反斜杠引号
':单引号
":双引号
\b:退格
\n:换行
\t:横向制表符
\r:回车

不换行打印:print(‘a’, end=’##’)
print(‘b’,end=’&&’)
输出:a##b&&

myname=input(‘请输入名字 :‘)
输入a
print(myname)
输出’a’

字符串操作

1.字符串中字符的替换:
字符串本身不可改变,但可以创建新的字符串对象并使变量指向新对象。
如:a=‘abcd’
a=a.replace(‘c’,‘e’)
print(a)
输出’aced’

2.字符串切片:
如:a=‘abcde’
a[:] 提取全部字符串
a[:3] 提取字符串首位至索引为2的位
a[2:] 提取字符串索引为2的位至末位
a[1:4:2] 步长为2,提取索引为1至索引为4的位
a[-3:] 提取倒数三位
a[-4:-1]: 提取倒数第四位至倒数第二位
a[::-1]: 步长为-1(从右到左反向提取)
a[2:50]: 虽然超出索引值范围,但不会报错,而是会提取
索引值为2的位至末位

3.字符串分割:
spllit()可基于指定分隔符将字符串分割为多个子字符串并存入列表。如:
a=‘abc def’
a.split() : [‘abc’,‘def’]
a.split(‘c’): [‘ab’,’ ef’]
a.split(‘f’): [‘abc de’,’’]

4.字符串拼接:
join()与split()作用相反。如:
a=[‘ab’,‘cd’]
‘&’.join(a): ‘ab&cd’
‘’.join(a):‘abcd’
与用+号(字符串拼接符)拼接的对比:用+号,每次都会生成新的对象;而用join函数,在拼接字符串前会计算所有字符串的长度然后逐一拷贝,仅新建一次对象。尽量避免使用字符串拼接符,效率过低。join函数性能更优。

5.字符串驻留机制:
Python对符合标识符规则的字符串会启动字符串驻留机制。

6.字符串成员操作符:
关键字in/not in:判断子字符串是否存在于字符串中

字符串常用方法

(1)a='abcde’
len(a): 字符串长度
a.startwith(‘a’): 判断是否以指定字符串开头
a.endwith(‘a’): 判断是否以指定字符串结尾
a.find(‘c’): 第一次出现指定字符串的位置(索引值)
a.rfind(‘c’): 最后一次出现指定字符串的位置
a.count(‘b’): 指定字符串出现次数
a.isalnum(): 判断是否全部字符都是字母或数字
a.isalpha(): 判断是否只由字母组成(含汉字)
a.isdigit(): 判断是否只由数字组成
a.isspace(): 判断是否为空白符
a.isupper(): 判断是否为大写字母
a.islower(): 判断是否为小写字母
(2)b=’&abc&abc&'
b.strip(‘&’): 去除字符串首尾指定信息
b.lstrip(’&’): 去除字符串左边指定信息
b.rstrip(’&’): 去除字符串右边指定信息
(3)c='ha ha ha Ha’
c.capitalize(): 产生新的字符串,首字母大写
c.title(): 产生新的字符串,每个单词都首字母大写
c.upper(): 产生新的字符串,所有字母都大写
c.lower(): 产生新的字符串,所有字母小写
c.swapcase(): 产生新的字符串,所有字母大小写转换
(4)d='abc’
d.center(10,’&’): ‘&&&abc&&&&’
d.center(10): ’ abc ’
d.ljust(10): ‘abc ’
d.rjust(10): ’ abc’

字符串格式化

format用法示例:
a=‘名字是{0},年龄是{1}’
a.format(‘miao’,3)
输出:‘名字是miao,年龄是3’
a=‘名字是{name},年龄是{age}’
a.format(age=3,name=‘miao’}
输出:‘名字是miao,年龄是3’

填充与对齐:
填充常与对齐一起使用。
^ < > 分别为居中、左对齐、右对齐。后接宽度。
:号后面带填充的字符(只能是1个字符,默认为空格)
如:‘我是{0},我爱吃{1:&^8}’.format(‘miao’,‘fish’)
输出:‘我是miao,我爱吃&&fish&&’

数字格式化

示例:‘我是{0},我走了{1:.2f}公里’.format(‘miao’,10.2356)
输出:‘我是miao,我走了10.23公里’
str.format() 格式化数字的多种其他方法:
参见https://www.runoob.com/python/att-string-format.html

本文地址:https://blog.csdn.net/dayouzi66666/article/details/107075385