今天学习了运算符、字符串,更新ing
小知识点
数字格式化
浮点数通过f,整数通过d进行需要格式化
浮点数
类型转换和四舍五入
增强型赋值运算符
时间的表示
以毫秒进行计算,1970
time.time()
赋值
链式赋值
用于同一个对象赋值给多个变量
x=y=123 相当于 x=123;y=123
系列解包赋值
系列数据赋值给对应相同个数的变量(个数必须保持一致)
a,b,c=4,5,6 相当于 a=4;b=5;c=6
变量互换/交换
a,b=1,2
a,b=b,a
print(a,b)
常量
python不支持常量,即没有语法规则限制改变一个常量的值。只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。
MAX_SPEED=120
print(MAX_SPEED)
内置数据类型
整型:整数
浮点型:小数
布尔型:True, False
字符串型“abc”“小数”
数字
运算符
+
-
*
/ (浮点数除法) 8/2 4.0
//(整数除法) 7//2 3
%模(取余)7%4 3
**(幂) 2**3 8
位运算符
运算符 描述 备注
x | y 按位或运算符
x ^ y 按位异或运算符
x & y 按位与运算符
x << n 左移动运算符
x >> n 右移动运算符
~x 按位取反运算符
————————————————
版权声明:本文为CSDN博主「yatum_2014」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yatum_2014/article/details/84259577
除数为0,会产生异常
使用divmod()函数同时得到商和余数 divmod(13,3) 得到(4,1)
17. 整数_不同进制
18. 19. 20
21. 布尔值
a=True
b=3
a+b
4
比较运算符
==等于
!= 不等于
>
<
逻辑运算符 ???
or 或 x or y x为true,则不计算y,直接返回true;x为false,则返回y。
and 与 x and y x为true,则返回y的值,x为false;则不计算y,直接返回false
not 非 not x x为true,返回false;x为false,返回true。
注意: or是个短路运算符,它只有在第一个运算数为False时才会计算第二个运算数的值。and也是个短路运算符,它只有在第一个运算数为True时才会计算第二个运算数的值。not的优先级比其他类型的运算符低,所以not a == b相当于not (a == b),而 a == not b是错误的。
原文链接:https://blog.csdn.net/yatum_2014/article/details/84259577
22. 同一运算符
is is是判断两个标识符是不是引用同一对象
is not is判断两个标识符是不是引用不同对象
is用于判断两个变量引用的对象是否为同一个,即比较对象的地址,是否是同一个内存地址。
== 用于判断引用变量引用对象的值是否相等,内容是否相等,默认使用对象_eq_()方法。
整数缓存问题 (这个有什么用处??)
python 缓存范围 只缓存小整数 [-5,256]
pycharm 或者保存为文件执行,缓存对象变成[-5, ...]
字符串的本质是:字符序列。字符串是以单引号或双引号括起来的任意文本,字符串不可变。
可以将字符串的一部分复制到新创建的字符串,达到看起来修改的效果。
python不支持单字符。
python中字符串可以进行乘法运算
a = "very good"
print(a * 3)
字符串的编码
python3直接支持unicode,可以表示世界上任何书面语言的字符。python3的字符默认16位unicode编码。
引号创建字符串
可以通过单引号或双引号创建字符串
连续3个单引号或3个双引号,可以帮助我们创建多行字符串
截取字符串
字符串[n : m],截取n到m-1之间的字符 ,如果从头开始,n可以不填
判断一个字符串是否在另一个字符串内
搬运自https://blog.csdn.net/qq_36171287/article/details/89739532
判断是否为闰年小算法:
a = int(input("请输入年份:"))
if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:
print("是闰年")
else:
print("不是闰年")
空字符串和len()
python允许空字符串的存在,不包含任何字符且长度为0。
len()用于计算字符串含有多少字符。
>>>c=''
>>>len(c)
0
len()用于计算字符串含有多少字符,例如
>>>d="abc尚学堂"
>>>len(d)
6
转义字符
我们可以使用“\+特殊字符”,实现某些难以用字符表示的效果,比如:换行等。常用的转义字符:
\()
\n 转行 ( \n在内存中占一个字节; \\n的话不会换行,会打印出\n )
\ 续行符
\t 制表符
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
原文链接:https://blog.csdn.net/yatum_2014/article/details/84259577
字符串拼接
1. "aa"+"bb"==> "aabb"
如果+两边都是字符串,则拼接
字符串复制
使用*可以实现字符串复制
不换行打印
print("aa",end="*")
print("aa",end="\n")
print("aa",end="\t")
从控制台读取字符串 input()从控制台读取键盘输入的内容
>>>myname=input("请输入名字:520")
请输入名字:520
>>>myname
"520"
str()实现数字转型字符串
使用[]提取字符
正向搜索:最左侧第一个字符,偏移量0,第二个偏移量是1
反向搜索:最右侧第一个字符,偏移量-1
>>>a="abcdefghijklmnopqrstuvwxyz"
a[1]
a
位运算符
运算符 描述 备注
x | y 按位或运算符
x ^ y 按位异或运算符
x & y 按位与运算符
x << n 左移动运算符
x >> n 右移动运算符
~x 按位取反运算符
————————————————
版权声明:本文为CSDN博主「yatum_2014」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yatum_2014/article/details/84259577
字符串不可改变,但可以通过replace修改,其实是创建新的字符串
>>>a="abcdefghijklmnopqrstuvwxyz"
>>>a=a.replace["c","高"]
"ab高defghijklmnopqrstuvwxyz"
字符串切片slice操作
切片操作slice标准格式为
[起始偏移量start:终止偏移量end:步长step]
[:] 提取整个字符串
[start:] 从start索引开始到结尾
[:end]从头开始直到end-1
[start:end]从start到end-1
[start:end:step]从start提取到end-1,步长step
[-3:]倒数3个
[-8:-3]倒数第8个到倒数第3个(包头不包尾)
[::-1]步长为负,从右到左,反向提取
超范围也不会报错。
split()分割和join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中),如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。
循环次数越大,“+”的效率越低,应用join连接制表符效率更高。
测试:拼接符和join运行时间。
字符串驻留机制和字符串比较
字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中,python支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字)
字符串比较和同一性
常用查找方法
len() 字符串长度
a.startswith() 以指定字符串开头
a.endswith() 以指定字符串结尾
a.find()
a.rfind()
a.count()
a.isalnum()
去除首尾信息
通过strip()去除字符串首尾指定信息,通过
大小写转换
a.capitalize()
a.title()
a.upper()
a.lower()
a.swapcase()
格式排版
center()、 ljust()、rjust()三个函数用于对字符串实现排版。
a="SXT"
a.center(10,"*")
其他方法
1. isalnum()
2. isalpha()
3. isdigit()
4. isspace()
5. isupper()
6. islower()
字符串的格式化
format()基本用法
填充与对齐
可变字符串
python中字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。如果确实需要愿地修改字符串,可以使用io.String()对象或array模块。
基本运算符
and, or, not
is, is not
<,<=,>,>=,!=,==
| ^ &
<<,>>
~
+,-,*,/,//,%
**
左移 右移,计算速度最快
复合赋值运算符
运算符优先级问题
乘除优先加减
位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
python表示数学式:
(5+10*x)/5-13*(y-1)*(a+b)/x+9*(5/x+(12+x)/y)
序列是数字方式
字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列。
列表的创建
基本语法[]创建
a=[]
list()创建
使用list()创建任何可迭代数据转化为列表
a=list()
a=list(range)
range()创建整数列表
range([start,] end [,step])
start参数:表示起始数字,默认为0
end参数:必选
步长参数:可选
a=[x*2 for x in range(5)]
>>>2
[0,2,4,6,8]
>>>a=[x*2 for x in range(100) if x%9==0] #通过if过滤元素
推导式生成列表