[关闭]
@FE40536 2019-06-24T15:24:14.000000Z 字数 3657 阅读 699

python全栈笔记python基础

python 基础


输入输出

  1. print('hello world')
  2. print('hello' * 2) # 输出两次
  3. ret = ipnut('>>>') # 返回值是字符串类型

类型转换

  1. a = 12
  2. str(a)
  3. float(a)
  4. bool(a)

流程控制

  1. # if语句
  2. if a > 1:
  3. print('a>1')
  4. elif a < 1:
  5. print('a<1')
  6. else:
  7. print('a=1')
  8. # while语句
  9. while a < 5:
  10. print('a<5')
  11. a += 1
  12. # for 语句
  13. for i in range(10):
  14. print(i)
  15. # continue,break

数据类型

列表list

  1. # 用中括号括表示,用逗号隔开,有顺序,可变数据类型,不可hash(哈希)
  2. a = ['jojo', 123, 'dio', 'GioGio', 40536, 'banana']
  3. # 可用相应多的变量来接收列表的元素,每个变量接收到一个
  4. b = [4, 5, 6]
  5. x, y, z = b
  6. # 切片操作
  7. a[0:] # 取第一项到末尾项(取所有项)
  8. a[0:-1] # 取第一项到倒数第二项
  9. a[1:-1:1] # 从第二项按步长为1取到倒数第二项
  10. a[1::2] # 从第二项按步长为2取到最后
  11. a[4::-1] # 从第五项往左按步长为1取
  12. a[::-1] # 从最后往前取完
  13. a[-1::-1] # 从倒数第一位往前一位一位取
  14. a[1:-1:-2] # 无效取法
  15. # 增
  16. a.append('666') # 添加到列表最后一项
  17. a.insert(3, 'muda') # 添加到第四项
  18. a.extend('abcd') # 将可迭代类型中的每一项分别添加进列表的末尾,该例子添加了'a','b','c','d'
  19. # 删
  20. a.remove('banana') # 删除'banana',列表里没有'banana'会报错ValueError
  21. a.pop(2) # 按索引值删除,即删除第三项'dio',并返回删除的值
  22. del a[0] # 按索引值删除
  23. del a[0:2] # 按切片删除
  24. del a # 删除整个列表,不是清空,是删除
  25. # 改
  26. a[0] = 'JOJO' # 按索引值修改
  27. a{1:3] = [456, 123, 'lost'] # 按切片修改,换多少向都可以,可以不带中括号直接写456, 123, 'lost'
  28. # 其他操作
  29. a.sort() # 排序操作,默认从小到大,字符串也可以排,但是字符串和数字不能混排
  30. a.count('dio') # 统计并返回'dio'在列表中出现的次数,没有就输出0
  31. a.reverse() # 将a中的数据全部颠倒顺序,配合排序可变成逆序
  32. a.index('jojo') # 返回'jojo'的索引值,没有则报错ValueError,有多个'jojo'返回第一个的索引

字符串str

  1. # 用''或者""或者''' '''围起来的就叫字符串
  2. st = 'hello kitty'
  3. # 字符串方法
  4. st[0:5:1] # 字符串也可以切片
  5. print('llo' in st) # 查看st里面是否含有'llo'片段,有返回True,无返回False
  6. st.count('lo') # 统计'lo'出现次数
  7. st.capitalize() # 首字母大写,不对原本的st做改变,要做改变要用st去接收,以后对原值不做改变我就说不保存
  8. st.center(50, '*') # 将st夹在50个*中间,不保存
  9. st.startswith('he') # 判断st是不是以'st'开头
  10. st.endswith('tty') # 你应该懂的
  11. st.find('it') # 找到第一个'it'的位置并返回索引,没找到返回-1
  12. mantra = ['d', 'fs', 'asf']
  13. '++'.join(mabtra) # 将mantra里的字符串用++连接起来,mantra里面有非字符串类型会报错
  14. # 下面换一个字符串做演示
  15. st = 'hello kitty {name} is {age}'
  16. st.format(name='dino', age=7) # 原字符串内用大括号的部分用format可以格式化输出,不保存
  17. st.format_map({'name': 'line', 'age': 78}) # 另一种格式化形式,不保存
  18. st.index('e') # 同find,但没找到会报错
  19. # 另一些操作
  20. 'abc123'.isalnum() # 判断是否包含数字或字母,中文也行,返回True,全是标点符号返回False
  21. '123456'.isdecimal() # 判断字符串是不是长的像数字
  22. '123.456'.isdigit() # 判断是不是整型数字
  23. '123'.isnumeric() # 同上
  24. '34abc'.isidentifier() # 判断字符串是不是合法标识符,由字母和数字下划线构成,数字不能开头
  25. 'Abc'.islower() # 判断是不是全小写
  26. 'Abc'.isupper() # 判断是不是全大写
  27. 'aBc'.upper() # 大写化,不保存
  28. 'aBc'.lower() # 小写化,不保存
  29. 'aBc'.swapcase() # 反转大小写,不保存
  30. ' '.isspace() # 判断是不是全是空格
  31. 'My Title'.istitle() # 判断是不是标题格式,每个单词首字母大写
  32. 'My title'.ljust(50, '#') # 在字符串右边放#直到字符串和#总长度到了50,若本来就长于50就不放#了,不保存
  33. 'My title'.rjust(50, '#') # 在左边放,不保存
  34. ' My title \n'.strip() #去左右空格换行符,不保存
  35. '\tMy title\t'.lstrip() # 去左的
  36. '\tMy title\t'.rstrip() # 去右的
  37. 'My title'.replace('My', 'You') # 替换字符串,不保存,没找到不报错,不替换而已
  38. 'My title title'.rfind('t') #从右往左找
  39. 'My title title'.find('t') # 从左边找
  40. 'My title title'.split('t') # 碰到't'就分割字符串,保存到临时列表之中,要接收,以后把不保存改成要接收
  41. 'My title title'.rsplit('t', 2) # 从右往左分割2次
  42. 'My title title'.title() # 标题化My Title Title

字典dict

  1. # 键值对结构
  2. # 不可变类型:整形 字符串 元组
  3. # 可变类型: 列表 字典
  4. # 键不可以是可变类型 值可以是可变类型
  5. # 创建方法
  6. dic = {'name': 'awsl', 'age': 19, 'hobby': {'girl_name':'dasabi','boy_name':'dadasabi'}, 'isgood': True }
  7. dic = dict([['name', 'dino'],['age', 7] ])
  8. dic = dict.fromkeys(['host1', 'host2', 'host3', 'test'], ['jjj', 55])
  9. # 结果如下{'host1': ['jjj', 55], 'host2': ['jjj', 55], 'host3': ['jjj', 55], 'test': ['jjj', 55]}
  10. dic['host1'][1] = 33
  11. # 修改过后{'host1': [4, 33], 'host2': [4, 33], 'host3': [4, 33], 'test': [4, 33]}
  12. dic = {'name': 'alex'}
  13. # 增
  14. dic['dio'] = 100
  15. print(dic.setdefault('age', 34)) # 有键不做修改,无键添加新键,有键修改后返回原有的值,无键添加后返回添加的值
  16. # 查
  17. print(dic['name']) # 以下为列表化
  18. print(list(dic.keys())) # 查找键
  19. print(list(dic.values())) # 查找值
  20. print(list(dic.items())) # 查找键值对
  21. # 改
  22. dic1 = {'1': '111', '3': '3', '4': '4', }
  23. dic2 = {'2': '222', '3': '333', '4': '444', '5': '555'}
  24. dic1.update(dic2) #有相同的键则会覆盖
  25. # 删
  26. dic2.popitem() #删除字典最后一个,返回被删的键值对
  27. dic2.pop('2') #根据键去删除,返回删除的值
  28. dic2.clear() # 清空字典
  29. # 其他操作
  30. for i, v in dic2.items():
  31. print(i, v) # 打印键和值
  32. # 拷贝问题
  33. dic3 = dic2.copy()
  34. dic4 = dic2
  35. dic2['4'] = '5555555555555555555555'
  36. print(dic4) # dic4的'4'也被改变了
  37. print(dic3) # dic3未被改变

元祖tuple

  1. # 和list类似,但是tuple是不可变类型,不能修改,可hash,但是tuple里面有可变类型,该可变类型可以修改
  2. tu = (1, 2, 3, [4, 5, 'move', ], 7, 8, 9,)
  3. tu[3][1] = 'just'.upper()
  4. tu[3].append(96)
  5. print(tu)
































































































































































































































































































添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注