计算机相关知识
unicode:32位,4个字节。优点:包含所有语言;弊端:占空间太大
utf-8:对汉字编码,占3个字节
GBK: 2个字节
变量
a=1
b=2
c=3
d=a+b+c
print(d)
数据类型
int 类
v = 15
data = v.bit_length() # 当前十进制用二进制表示时,最少使用的位数
print(v) # 15
print(data) # 4
int–bool–str相互转化
bool、str 转 int
str 转 int
v="123"
val=int(v)
print(val) # 123
bool转int
v1= False
val1=int(v1) # False 强转后是 0
print(val1) # 0
v2= True
val2=int(v2) # True 强转后是 1
print(val2) # 1
int、bool 转 str
bool 转 str
v=True
print(v,type(v)) # True <class 'bool'>
val= str(v) #变成了 "True"
print(val,type(val)) # True <class 'str'>
int 转 str
v=123
print(v,type(v)) # 123 <class 'int'>
val= str(v) #变成了 "123"
print(val,type(val)) # 123 <class 'str'>
int、str 转 bool
# int 转bool时,如果 int类型的值为0,则转换后 结果为 False
v1 = 0
val1 = bool(v1)
print(val1) # False
# int 转bool时,只要 int类型的值不为0,则转换后 结果为 True
v = -12
val = bool(v)
print(val) # True
# str 转bool时,如果 str类型的值为 空串 "",则转换后 结果为 False,其余则为 True(哪怕是一个空格)
v = ""
val = bool(v)
print(val) # False
v1 = "abc"
val1 = bool(v1)
print(val1) # True
类型转换的几个特例
a = 1 == 1 or 2 > 3
print(a) # True
a = True == 1 or 2 > 3
print(a) # True
a = True == 5 or 2 > 3
print(a) # False
a = False == 0 or 2 > 3
print(a) # True
a = False == 4 or 2 > 3
print(a) # False
a = 0 or 2 > 3
print(a) # False
a = 7 or 2 > 3
print(a) # 7
a = "abc" or 2 > 3
print(a) # abc
a = 0 or 7
print(a) # 7
a = 4 or 7
print(a) # 4
运算符
逻辑运算符
and 与 只有a为True 并且 b也为True, a and b 才是 True,否则是False
or 或 a为True 或者 b 为True, a or b 就是True
not 非 a为True,not a 为False
成员运算
in 在。。。中,属于。。。。
msg = "我叫张生,我喜欢打篮球"
if "喜欢" in msg:
print('good')
else:
print('懒')
条件语句
if 9>10:
print("假的")
else:
print("不是的")
循环语句
a=1
while a<3:
print("循环语句")
a=a+1
while循环
start=1
flag=True
while flag:
print(start)
start=start+1
if(start==4):
flag=False
i=1
while i<5:
print(i)
i = i + 1
字符串
字符串常用功能
字符串无论如何变化,变大写、小写等,原值都是不变的
变大写 upper()
v1 = "alex"
value = v1.upper()
print(v1,value) #alex ALEX
变小写 lower()
v1 = "alEx"
value = v1.lower()
print(v1,value) # alEx alex
首字母变大写(其余字母变小写)capitalize()
v1 = "alEx"
value = v1.capitalize()
print(v1,value) # alEx Alex
去除首尾空格 strip()
v1 = " asd fasdf "
value = v1.strip()
print(v1) # asd fasdf
print(value)#asd fasdf
# 实例:
name = input("请输入用户名:")
value = name.strip()
if value == 'alex':
print('登录成功')
去除左边空格 lstrip()
v1 = " asd fasdf "
value = v1.lstrip()
print(value) #asd fasdf
去除右边空格 rstrip()
v1 = " asd fasdf "
value = v1.rstrip()
print(value) # asd fasdf
替换 replace()
v1 = "abcdgefbcdefdacef"
value = v1.replace("b","**")
data = value.replace('d','##')
print(value) #a**cdgef**cdefdacef
print(data) #a**c##gef**c##ef##acef
分割 split()
v1 = "abcdefabceafsd"
value1 = v1.split('b') # 返回结果是列表类型
value2 = v1.split('c')
value3 = v1.split('a',2) # 利用前2个a进行分割
print(value1) #['a', 'cdefa', 'ceafsd']
print(value2) #['a', 'cdefa', 'ceafsd']
print(value3) #['', 'bcdef', 'bceafsd']
判断当前字符串中是否全部都是数字 isdecimal()
v = "123"
val = v.isdecimal()
print(val) #True
#eg:判断一个字符串中有多少个数字
count = 0
v = "abc123fsdfa3f"
for item in v:
if item.isdecimal():
count += 1
print(count)
字符串公共功能
计算当前字符串长度
v = "徐芳名sdf"
value = len(v)
print(value) #6
根据索引(下标)取值
- 单个值:v[0]
- 多个值:v[起始位置:结束位置]
- 多个值:v[起始位置:结束位置:步长]
PS: -1表示最后
单个值:v[0]
v = "abcdefg"
value = v[0]
print(value) #a
多个值
value1 = v[0:5] # 取下标为 0 1 2 3 4 ,结果为 abcde
value2 = v[4:5] # 取下标为 4 ,结果为 e
value3 = v[4:-1] #取下标为 4 到末尾(不包含),结果为 ef
value4 = v[4:] # 取下标为 4 到末尾(包含),结果为 ef
print(value1) #abcde
print(value2) #e
print(value3) #ef
print(value4) #efg
字符串截取
v="abcdefg"
v1=v[0:3] #前闭后开
print(v1) #abc
v2=v[3:] #从第4个到末尾
print(v2) #defg
v3=v[3:-1] #从第4个到最后一个(不包含)
print(v3) #def
v4=v[0:6:2] #步长为2,一步取一个
print(v4) #ace
v = "abcdefghijklmnopq"
value = v[1:15:3] #步长为3,隔2个取一个
print(value) # behkn
字符串的遍历
方式一:
v = "ASCII"
length = len(v)
index = 0
while True:
data = v[index]
print(data)
index += 1
if index == length:
break
方式二:
v = "ASCII"
length = len(v)
index = 0
while index < length:
data = v[index]
print(data)
index += 1
方式三:
v = "ASCII"
for i in v:
print(i)
字符串格式化:将数字和字符串相结合
msg = "我叫%s" %("老张")
print(msg) #我叫老张
# % 是占位符
msg = "我叫%s,年龄是%d,爱好是%s" %("老张",18,"打球")
print(msg) # 我叫老张,年龄是18,爱好是打球
name = input("请输入姓名:")
age = input("请输入年龄:")
hobby = input("请输入爱好:")
msg = "我叫%s,年龄是%s,爱好是%s" %(name,age,hobby)
print(msg)
# 如果想要输出%,需要写两个%
tpl = "我是%s,年龄%d,学习进度100%%" %('雷锋',99)
print(tpl) #我是雷锋,年龄99,学习进度100%
字典 dict
二维字典的遍历
d={
"2020":{"zhangsan":3},
"2021":{"lisi":2,"wangwu":5}
}
for key,value in d.items():
print(key,end=":")
for key2,value2 in value.items():
print(key2,value2)
# 结果如下:
# 2020:zhangsan 3
# 2021:lisi 2
# wangwu 5
for key,value in d.items():
for key2,value2 in value.items():
print(key+"**"+key2+"**"+str(value2))
#结果如下:
2020**zhangsan**3
2021**lisi**2
2021**wangwu**5
持续更新。。。