Day4-总结
1.变量名
变量名=值
python中所有的变量都是数据的地址,使用时都是地址所对应的值
值,地址,类型
2.运算符:数学,比较,逻辑,赋值,位运算
数学:+,-,,/,%,//,*
比较:>,<,==,!=,>=,<=
逻辑:and,or,not
and短路操作:如果and前面的条件为false,and后面的条件语句不会执行
or短路操作:如果or前面的条件为true,or后面的条件语句不会执行
赋值:=,+=,-=,*=
变量+=值 # 变量=变量+值
位运算:&,|,^,~,<<,>>
num = 10
print(0 <= num <= 10)
支持像数学中的方式使用>,<,<=,>=去表示范围
print(-4.2// 2)
print(-5// 2)
整除的时候i,如果商是负数的小数(小数点后的值大于0),最后的结果是整数部分减1
3.什么事字符串
序列,有序,不可变的。
用单引号或者双引号括起来的任意字符集
4.字符串中的的字符
a.普通字符:
'adf','aer213','%#$%','师傅'
b.转义字符:
\n,\t,',",\,阻止转义:r/R
5.字符编码
python 中的字符采用的是unicode编码
a.什么事编码
就是数字和字符的一一对应关系,其中字符对应的数字就是字符的编码
a=97,b=98,余=20313
b.编码方式
ASCII码:针对数字字符、字母字符、一些英文中常用的符号进行编码
采用一个字节对字符进行编码(128个字符)
Unicode码:包含了ASCII码,同时能够对世界上所有语言对应的符号进行编码
采用两个字节对字符进行编码能编码65536个字符
中文:4E00 - 9FA5
c.两个函数
chr(编码值) - 将字符编码转换成字符
print(chr(0x4e02))
ord(字符) - 将字符转换成字符编码
print(ord('张'),ord('程'))
d.可以将字符编码放到字符串中便是一个字符:\u + 4位的16进制编码值
一旦一个字符串确定,那么字符串中每一个字符的位置就确定。
而且每个字符会对应一个用来表示其位置和顺序的下标值。
6.下标(索引)
字符串中的每个字符都有一个下标,代表其在字符中的位置
下标的范围是:0 - 字符串长度-1(0代表第一个字符)
-1 - -字符串长度(-1代表最后一个字符的位置)
'abc' -> a:0/-3 , b:1/-2 , c:2/-1
7.获取单个字符
语法:字符串[下标] - 获取字符串中,指定下标对应的字符
说明:字符串 - 可以是字符串常量,也可以是字符串变量
[] - 固定写法
下标 - 字符的下标,不能越界
str1 = 'hello python'
print(str1[11])
8.获取部分字符
方法1:
a.语法:字符串[开始下标:结束下标:步长]
b.说明:字符串 - 可以是字符串常量,也可以是字符串变量
[] - 固定写法
: - 固定写法
开始下标、结束下标 - 下标值
步长 - 整数
c.功能:
从开始下标获取到结束下标前为止。每次下标值增加步长对应的值,结果是字符串
d.注意:
当步长是正数(从前往后取),开始下标对应的字符要在结束下标对应的字符的前面
当步长是负数(从后往前取),开始下标对应的字符要在结束下标对应的字符的后面
结束下标对应的值取不到
方法2:
a.语法:字符串[开始下标:结束下标](相当于步长是1)
str = '1234567890'
print(str[0:6:3])
print(str[-1:3]) # '' - 空串
9.获取部分字符,省略下标
获取部分字符的时候,开始下标和结束下标都可以省略
a.开始下标省略
字符串[:结束下标:步长] 或者 字符串[:结束下标]
步长是正数:从字符串开头开始往后获取
步数是负数:从字符串结尾开始往前获取
b.结束下标省略
字符串[开始下标::步长]或者字符串[结束下标:]
步长是正数:从开始下标从前往后获取到字符串结束
步数是负数:从开始下标从后往前获取到字符串开头
str1= 'abc1234abc'
print(str1[:4:1])
print(str1[:4:-1])
print(str1[4:])
print(str1[4::-1])
print(str1[::])
print(str1[::-1]) # 字符串倒序
print(str1[-100:100]) # 这的开始下标和结束下标可以越界
10.+
字符串1+字符串2:将两个字符串拼接在一起产生一个新的字符串(不会修改原字符)
注意:字符串相加,加号两边必须都是字符串
str1 = 'abc'
str2 = '123'
print(str1 + str2)
11.*
字符串*n(正整数):字符串的内容重复n次产生一个新的字符串
str1 = "abc"
print(str1 * 3)
12.比较运算符:>,<,==,!=,>=,<=
a. ==, !=
字符串1 == 字符串2(判断两个字符串是否相等)
b. >,<,>=,<=
两个字符串比较大小:从第一个开始,找到第一个不同的字符,然后比价编码值大小
print('abc'>'ad') # False
#######判断一个字符是否是字母
char= input('请输入一个字符:')
print('是否是字母:','a'<= char <= 'z' or 'A'<= char <= 'Z')
#######判断一个字符是否是中文
print('是否是中文','\u4e00'<= char <= '\u9fa5')
print('是否是中文', 0x4e00<= ord(char) <= 0x9fa5)
13. in 和 not in
字符串1 in 字符串2:判断字符串2中是否包含字符串1,结果是布尔值
字符串1 not in 字符串2:判断字符串2中是否不包含字符串1,结果是布尔值
print('abc' in 'abc456') # ture
print('abc' in 'ab123c') # false
14.len 函数
len(序列)
len(字符串) - 获取字符串中字符的个数
print(len('abc123\n4\u4edd'))
"""
15.str
str(数据):将数据转换成字符串
a.其他数据转换成字符串:
所有的类型的数据都可以转换成字符串。转换的时候就是在数据的值的最外面加引号
补充:系统类型名不能用来给变量命名
b.字符串转其他类型
字符串转整数:int(字符串) - 只有去掉引号后剩下部分本身就是一个整数的字符串才能转换成整型
字符串转成浮点型:float(字符串) - 只有去掉引号后剩下的部分本身就是一个整数或者小数的字符串才能转成浮点型
字符串转成布尔:bool(字符串) - 除了空串会转换成False , 其他所有字符串都会转换成True
str1 = str (100)
print(str1, type(str1))
16.格式字符串
指的是字符串中通过格式占位符来表示字符串中变化部分,然后后面再通过其他的值来给占位符赋值
语法:含有格式占位符的字符串 % (占位符对应的值)
说明:格式占位符有固定的写法(可以有多个)
% 有固定写法
()里面的值得个数和值的a类型要和前面的格式占位符一一对应
17.常见格式占位符
%d:整数
%s:字符串
%.nf:小数(保留小数点后n位小数)
%c:字符(可以将数字转换成字符)
name = input('名字:')
message = '%s你好,吃饭了吗?'%(name)
print(message)
message = '%s,今年%d岁,体重%.2fkg'%(name,18+2,65)
print(message)
18.capitalize() - 将字符串的第一个字符转换成大写
str1 = 'hello'
str2= str1.capitalize()
print(str2)
19.字符串对齐
字符串.center(width,fillchar) - 居中
字符串.ljust(width,fillchar) - 左对齐
字符串.rjust(width,fillchar) - 右对齐
width - 正整数,表示新的字符串的宽度
fillchar - 字符,填充字符串
import random - 导入随机数对应的模块
random.randint(m,n) - 产生一个m~n的随机数
str1 = '123'
str2 = str1.center(7,'*')
print(str2)
str2 = str1.ljust(7,'*')
print(str2)
str2 = str1.rjust(7,'*')
print(str2)
import random
num = random.randint(0 ,20)
print(num)
a = 'python1808' + str(num).rjust(3,'0')
print(a)
20.join(seq)
字符串1.join(字符串2)将字符串1的内容插到字符串2的每个字符之间
s1='-'
str=('h','e','l','l','o')
print(s1.join(str))
21.max,min
max(字符串):返回字符串中最大的字母
min(字符串):返回字符串中最小的字母
print(max('asdfdc'))
print(min('adfdggae'))
22.count
字符串.count(字符):返回字符在字符串中的个数
a='12345ss'
b=a.count('s')
print(b)
23.endswith
字符串.endswitch(字符):判断字符串是否以字符结束,如果是就返回true,不是就返回falas
a='1234obj'
b=a.endswith('j')
print(b)
24.expandtabs
字符串.expandtabs(字符):将字符串中的\t转换为想要的空格数
a='123\t456\t78'
b=a.expandtabs(8)
print(b)
25.find
字符串1.find(字符串2):判断字符串2是否在字符串1中,如果在就返回字符串2在字符串1中的开始下标,如果不在就返回-1
str1 = 'abcd1234**'
print(str1.find('**'))
26.index
字符串1.index(字符串2):判断字符串2是否在字符串1中,如果在就返回字符串2在字符串1中的开始下标,如果不在就会报错
str1 = 'abcd1234**'
print(str1.index('12'))
27.isalnum
字符串.isalnum():字符串中如果至少有一个字符且全为字母或者,则结果为true,否则结果为false
str1='abcdeg'
print(str1.isalnum())
28.islower
字符串.islower():字符串中所有字母由小写字母组成,则返回true,否则返回false
str1 = 'avbad1234'
print(str1.islower())
29.istitle
字符串.istitle():字符串中所有单词拼写是否为大写且其他字母为小写,是就返回true,否则返回false
str1 = 'Hello Python'
print(str1.istitle())
30.lstrip
字符串1.lstrip(字符串2):消除掉字符串1中左边指定的字符串2后生成新的字符串,如果没有指定则消除字符串1左边的空格
str1 = 'avfcf1243'
# print(str1.lstrip())
print(str1.lstrip('av'))
31.replace
字符串1.replace(字符串2,字符串3[替换次数]):将字符串1中的旧字符串2转换成新的字符串3,最多替换次数不能超过规定次数
str1 = 'hello python'
print(str1.replace('l','p',1))
32.swapcase
字符串1.swapcase():将字符串1中的大写转换为小写,小写转换成大写
str1 = 'Hello Python'
print(str1.swapcase())
33.isdecimal
字符串1.isdecimal:检查字符串是否只包含十进制字符。
str1 = "abc454"
print(str1.isdecimal())