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以后都是两个地址

 

posted @ 2018-12-06 14:48  阿梵杰  阅读(164)  评论(0)    收藏  举报