python基础知识注意点
字符串的一些常用方法
s = "Daman chen"
# s1 = s.upper() # 全部转化成大写 .lower() 全部转化成小写
# s2 = s.title() # 首字母转化成大写
# s3 = s.center(20) # 将字符串居中在20位中间
# s4 = s.startswith('da') # 判断是否以特定字符开头
# s5 = s.startswith('m', 2, 5) # 判断第2到5的索引的部分是否以m开头
# s6 = s.find('ch') # find通过元素找索引,找不到返回-1,找到返回位置
# s7 = s.index('c') # 通过元素找索引,找不到报错,找到返回位置
# s9 = s.count('a') # 统计字符串中有多少个a
# s10 = s.replace('chen', 'CHEN') #特定字符的替代
字符串的分割 strip
s = " aqww acqw "
s8 = s.strip() # 去除字符串前后的空格 .lstrip() 去除字符串左边的空格 .rstrip()去除字符串右边的空格
print(s8)
s = 'alex wusics taibai'
l = s.split() # 以什么为标准进行分隔
print(l)
ll = s.split('a')
print(ll)
关于字符转换 join split
将列表转化成字符串 list-->str join
li = ['ab', 'bc', 'cd']
s = '++'.join(li)
print(s)
将字符串转化成列表 str-->list split
# ss = 'ab bc cd'
# s2 = ss.split(' ')
# print(s2)
关于元组的注意
元组 只读列表 ,可循环查询,可切片
‘儿子’不能改,‘孙子’可能可以改
aa = (1, 2, 3, 'chen', [2, 3, 4, 'daman'], 'python')
print(aa[3])
print(aa[0:4])
for i in aa:
print(i)
aa[4][3] = aa[4][3].upper()
print(aa)
aa[4].append('good')
print(aa)
chen
(1, 2, 3, 'chen')
1
2
3
chen
[2, 3, 4, 'daman']
python
(1, 2, 3, 'chen', [2, 3, 4, 'DAMAN'], 'python')
(1, 2, 3, 'chen', [2, 3, 4, 'DAMAN', 'good'], 'python')
关于切片的注意点
“顾头不顾尾” 顺序逻辑不能乱
for i in range(0, 10):
print(i)
for i in range(0, 10, 2):
print(i)
for i in range(10, 0, -1):
print(i)
标准化输出
name = input("请输入用户名:")
age = input("请输入密码:")
height = input("输入你的身高:")
msg = "我叫%s, 今年%s,身高是%s,有90%%" %(name, age, height)
print(msg)
s = '我叫{},age{},hobby{},name{}'.format('chen', 22, 'girl', 'chen')
print(s)
s = '我叫{0},age{1},hobby{2},name{0}'.format('chen', 22, 'girl')
print(s)
name = input('name:')
s = 'name{name},age{age},hobby{hobby},name{name}'.format(age=18, name = name, hobby = 'girl')
print(s)
字典的操作
dict1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
# dict1['height'] = 175 # 没有键值对,则增加
# dict1['age'] = 22 # 有键值对,则修改
# dict1.setdefault('weight', 150) # 有键值对,不做任何改变,没有则增加
# print(dict1.pop('age')) # 有返回值,按键去删除
# print(dict1.pop('chen', None)) # 没有返回值,返回None
# print(dict1.popitem()) # 随机删除 有返回值 元组里面是删除的键值
# print(dict1)
# del dict1['name'] # 删除键值
# print(dict1)
# # dict1.clear() # 清空字典
# dict1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
# dict2 = {'name': 'chen', 'age': 22}
# dict2.update(dict1) # 覆盖增加
# print(dict2)
# for k, v in dict1.items(): # 只分别输出键值
# print(k, v)
#
# print(dict1.get('name2', '没有这个值')) # get()有这个键则返回值,没有则返回后面的标识
集合 set 用于去重
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
set1 = set(li)
print(set1)
li = list(set1)
print(li)
关于for循环的注意点
# 统计一串字符中有多少个数字串
info = input('>>>') # 123abcba32ba
for i in info: # for会根据info拿到的字符串一直循环,并且保持不变
if i.isalpha():
info = info.replace(i, " ") # 这个info会根据每次的循环的执行结果发生改变,但是不影响这个for循环的执行
l = info.split()
print(len(l))
不能for循环删除列表或字典里面的数据,否则会出错
解决办法:
# dic = {'k1':'v1','k2':'v2','a3':'v3'}
# dic1 = {}
#
# for i in dic:
# if 'k' not in i:
# dic1.setdefault(i,dic[i])
# dic = dic1
# print(dic)
# l = []
# for i in dic:
# if 'k' in i:
# l.append(i)
# for i in l:
# del dic[i]
# print(dic)
数据池
数字,字符串都有数据池,是为了节省内存地址空间的
数字的范围 -5 -- 256
字符串:1.不能有特殊字符
2.S*20还是同一个地址,s*21以后都是两个地址


浙公网安备 33010602011771号