运算符、字符串_第2天作业

今天学习了运算符、字符串,更新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中字符串可以进行乘法运算

  1. a = "very good"

  2. 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

判断是否为闰年小算法:

  1. a = int(input("请输入年份:"))

  2. if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:

  3. print("是闰年")

  4. else:

  5. 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过滤元素

推导式生成列表


 

你可能感兴趣的:(作业)