• Python学习笔记


    目录

    Day 1 本节内容:

    用户输入函数input

    字符串内引用变量格式化输出

    密码秘文函数 getpass

    流程控制语句

    range函数

    Day 2 本节内容:

    1.模块初识

    2.三元运算与字符串编码解码

    3.列表

    4.元组

    5.字符串 常用参数

    6.字典


    Day 1 本节内容:

    用户输入函数input

    字符串内引用变量格式化输出

    密码秘文函数 getpass

    流程控制语句

    range函数

    1. 一、 用户输入函数 input()
    2. name = input('Username:')
    3. print(name)
    4. 二、字符串内引用变量,格式化输出。
    5. 1. %s 字符串 ;%d 整数类型 ;%f 浮点数类型
    6. info = 'name = %s age = %d num = %f' % ('zjl',18,1.1)
    7. print(info)
    8. #name = zjl age = 18 num = 1.100000
    9. 2. format函数
    10. info = '姓名 {name} ;年龄 {age} ;num {num}'.format(name='zjl',age=18,num=20)
    11. info = '姓名 {0} ;年龄 {1} ;num {2}'.format('zjl',18,20)
    12. print(info)
    13. #姓名 zjl ;年龄 18 ;num 20
    14. 3. 定义变量 name age num,f'{name}' 引用
    15. info = f'姓名 {name} ;年龄 {age} ;num {num}'
    16. 三、密码 秘文函数 getpass
    17. import getpass
    18. name = input('Your username:')
    19. password = getpass.getpass('Your Password:')
    20. print(name,password)
    21. 四、流程判断语句
    22. 1.
    23. if n == 1:
    24. print('值为1')
    25. elif n == 2:
    26. print('值为2')
    27. else:
    28. print('1和2都不对!')
    29. 2.
    30. while xxx:
    31. if xxx:
    32. break
    33. else:
    34. xxx
    35. else:
    36. xxxxxx
    37. continue 跳出这一次循环
    38. break 跳出此循环,后面不再执行
    39. pass 什么都不做,返回循环
    40. exit() 退出,可输出自定义内容
    41. 五、 range函数
    42. for i in range(1,10,2):
    43. print(i)
    44. #步长为2,输出 1 3 5 7 9

    Day 2 本节内容:

    sys、os模块

    三元运算、编码与解码

    列表

    元组

    字符串常用参数

    字典

    1.模块初识

    1. 1. sys模块
    2. import sys
    3. print(sys.path) #打印环境变量
    4. sys.argv[1] #参数1
    5. 2. os模块
    6. import os
    7. txt = os.system('dir') #执行系统命令 输出到屏幕,不保存结果
    8. txt = os.popen('dir').read() #执行系统命令并保存结果到临时的内存地址中,通过read从内存地址读取内容
    9. os.mkdir('new_dif') #创建目录

    2.三元运算与字符串编码解码

    1. 1.三元运算
    2. a,b,c = 1,3,5
    3. d = a if a < b else c
    4. print(d) #值为1
    5. 2.编码与解码
    6. Python3中内存里的所有字符都是unicode,unicode是万国码
    7. python3文件默认编码是 utf-8
    8. python2文件默认编码是 ASCII
    9. GBK编码:decode解码 转换为 Unicode:encode编码 转换为 utf-8
    10. 任意编码转换成Unicode的过程,都叫解码;Unicode转换成其他编码都要编码
    11. msg.encode(encoding='utf-8') # 编码,encoding用于指定将原字符编码为什么格式的字符
    12. msg2.decode(encoding='utf-8') # 解码,encoding用于指定进行解码时采用的字符编码,与字符的编码类型一致
    13. 例:gbk编码字符在mac电脑中如何不显示乱码
    14. Python2中:gbk转换为unicode
    15. gbk_msg = '我爱北京天安门' # gbk格式的字符
    16. unicode_msg = gbk_msg.decode() # 解码为unicode字符
    17. print(unicode_msg)
    18. python3中: gbk转成unicode转换utf-8
    19. msg = '我爱北京天安门' # utf-8字符
    20. gbk_msg = msg.encode('gbk') # 编码为gbk字符
    21. unicode_msg = gbk_msg.decode('gbk') # 使用gbk去解码,成为unicode字符
    22. utf_8_msg = unicode_msg.encode('utf-8') # 将unicode编码为utf-8

    3.列表

    1. list = [0,1,2,3,4,5]
    2. 列表切片
    3. print(list[0:3]) # [0, 1, 2]
    4. print(list[-3:]) # [3, 4, 5]
    5. print(list[0:6:2]) # [0, 2, 4] 步长为2
    6. 列表增删改查
    7. list.append(6) # 在列表结尾添加元素 [0, 1, 2, 3, 4, 5, 6]
    8. list.insert(3,'test') # 指定下标添加元素 [0, 1, 2, 'test', 3, 4, 5, 6]
    9. list[3] = 'test2' # 指定下标修改元素 [0, 1, 2, 'test2', 3, 4, 5, 6]
    10. list.remove('test') # 指定元素名称删除 [0, 1, 2, 4, 5]
    11. del list[2] # 指定下标删除元素 [0, 1, 3, 4, 5]
    12. list.pop() # 默认删除结尾元素,也可指定下标删除元素 [0, 1, 2, 3, 4]
    13. 其他用法
    14. print(list.index('test')) # 查找列表中'test'元素的下标值
    15. print(list.count('test')) # 查找列表中'test'元素的数量
    16. list.clear() # 清空列表内容
    17. list.reverse() # 将列表内容元素的顺序反过来
    18. list.sort() # 将列表内容元素排序,特殊符号>数字>大写字母>小写字母
    19. list.extend(list2) # 将list2列表元素合并到list】
    20. list.copy() # 浅copy,只复制第一层,第二层指向内存地址
    21. name1 = ['ai','bi','ci',['yy','dd'],'di']
    22. name2 = name1.copy()
    23. name1[0] = 'zi'
    24. name1[3][0] = 'zz'
    25. print(name1) # ['zi', 'bi', 'ci', ['zz', 'dd'], 'di'] 修改第一层不影响
    26. print(name2) # ['ai', 'bi', 'ci', ['zz', 'dd'], 'di'] 修改第二层会影响,都会改掉
    27. '''
    28. import copy
    29. name2 = copy.copy(name1) # 也是浅copy
    30. name2 = copy.deepcopy(name1) #深 copy,完全复制一份,不受影响
    31. '''

    4.元组

    元组和列表差不多,只不过它一旦创建便不能在修改,所以也叫只读列表。

    1. names = ('alex','jack','tom','lili')
    2. # 他只有两个方法,count和index

    5.字符串 常用参数

    1. name = 'jack'
    2. name.capitalize() #首字母大写
    3. name.title() #空格分隔的每段内容的首字母大写
    4. name.count('j') #统计字符串中'j'的数量
    5. name.endswith('ck') #判断字符是否以’ck‘结尾
    6. name.startswith('j') #判断字符是否以’j‘开头
    7. name.isalnum() # 判断字符串是否为阿拉伯数字,包含字母和数字
    8. name.isalpha() # 判断字符串是否为纯英文字符
    9. name.isdigit() # 判断字符串是否为整数
    10. name.isspace() # 判断字符串是否为空格
    11. name.expandtabs(tabsize=30) #如果字符串中包含'\t',将table键转换为30个空格
    12. name.find('a') #查找字符a的索引
    13. name = 'name is {name} and {year} olds'
    14. 1.字符串内引用变量
    15. print(name.format(name='XiaoMing',year=18))
    16. #name is XiaoMing and 18 olds
    17. 1.字符串内引用变量,传递参数以字典的格式
    18. print(name.format_map({'name':'XiaoLi','year':20}))
    19. #name is XiaoLi and 20 olds
    20. 2.自定义连接符拼接字符串或列表中元素的值,列表中的元素也要是字符串类型
    21. print('_'.join('123'))
    22. #1_2_3
    23. print("_".join(['1','2','3']))
    24. #1_2_3
    25. 3.在字符串两边,添加50个长度的'_'
    26. name = 'jack'
    27. print(name.center(50,'_'))
    28. #_______________________jack_______________________
    29. 3.字符串长50,长度不够后面用*补全
    30. print(name.ljust(50,'*'))
    31. #name is {name} and {year} olds*******************
    32. 4.字符串长50,长度不够前面用*补全
    33. print(name.rjust(50,'*'))
    34. #*******************name is {name} and {year} olds
    35. 5.把字符中字母全部转换为小写
    36. print(name.lower())
    37. 6.把字符中字母全部转换为大写
    38. print(name.upper())
    39. 7.去除字符串两边的空格和换行,lstrip只去除左边的,rstrip只去除右边的
    40. print(name.strip())
    41. 8.转换替换字符串中多个字符的值
    42. passwd = str.maketrans('abcde','123yz') # 将'abcde'分别对应成'123yz'
    43. print('fabcdef'.translate(passwd)) #传入转换的字符
    44. #f123yzf
    45. 9.替换字符串内某个字符的值
    46. print('AAaBB'.replace('AAa','BB')) # 将字符串中 AAa 替换为 BB
    47. #BBBB
    48. 10.默认以空格将字符串转换为列表
    49. print('A B CD'.split())
    50. #['A', 'B', 'CD']
    51. print('A B CD'.split('B'))
    52. #['A ', ' CD']
    53. .splitlines()以换行符将字符串转换为列表,与 name.split('\n')效果相同

    6.字典

    字典是一种key-value的数据类型。特性:字典是无序的,没有下标;key必须是唯一的,所以天生去重。

    1. student_dict = {
    2. 'student1':'XiaoLi',
    3. 'student2':'XiaoYao',
    4. 'student3':'XiaoZZ',
    5. }
    6. 1.字典的增删改查:
    7. student_dict['student1'] = 'XiaoAA' # 改
    8. student_dict['student4'] = 'ZhangSi' # 增
    9. .setdefault 增加元素,若该key已经存在,则不修改;若key不存在,则创建。
    10. student_dict.setdefault('student4',['CehngLong','XiaoZi'])
    11. del student_dict['student4'] # 删除
    12. student_dict.pop('student1') # 删除
    13. print(student_dict.get('student4')) # 查,返回value;若没有此key,返回None
    14. print('student4' in student_dict) # 返回True或False
    15. print(student_dict['student3']) # 查,返回value;若没有则会报错
    16. 2.打印字典的所有value
    17. print(student_dict.values())
    18. #dict_values(['XiaoAA', 'XiaoYao', 'XiaoZZ', 'ZhangSi'])
    19. 3.打印字典的所有key
    20. print(student_dict.keys())
    21. #dict_keys(['student1', 'student2', 'student3', 'student4'])
    22. 4. .update 合并两个字典内容,重复的key 值会覆盖掉,新的key value会创建
    23. student_dict = {
    24. 'student1':'XiaoLi',
    25. 'student2':'XiaoYao',
    26. 'student3':'XiaoZZ',
    27. }
    28. student2 = {
    29. 'student1':'AAaa',
    30. 'student4':'Xx'
    31. }
    32. student_dict.update(student2)
    33. print(student_dict)
    34. # {'student1': 'AAaa', 'student2': 'XiaoYao', 'student3': 'XiaoZZ', 'student4': 'Xx'}
    35. 5. 将字典转换为列表
    36. print(student_dict.items())
    37. # dict_items([('student1', 'AAaa'), ('student2', 'XiaoYao'), ('student3', 'XiaoZZ'), ('student4', 'Xx')])
    38. 6. .fromkeys 初始化一个字典,将列表中的所有key赋值同一个value;也可用作修改现有字典中多个key为同一个value
    39. #注意:类似于浅copy,修改第一层数据互不影响,第二层数据指向内存地址 若修改都会受影响
    40. NewDict = dict.fromkeys(['Aa','Bb','Cc'],100)
    41. print(NewDict)
    42. #{'Aa': 100, 'Bb': 100, 'Cc': 100}
    43. NewDict['Aa'] = 90
    44. print(NewDict)
    45. #{'Aa': 90, 'Bb': 100, 'Cc': 100}
    46. NewDict2 = dict.fromkeys(['Aa','Bb','Cc'],['number',100])
    47. NewDict2['Aa'][1] = 90
    48. print(NewDict2)
    49. #{'Aa': ['number', 90], 'Bb': ['number', 90], 'Cc': ['number', 90]}
    50. 7.遍历字典的key和value
    51. for i in NewDict:
    52. print(i,NewDict[i])
    53. # .items此方式有一个字典转换列表的过程,如果数据量大不建议用此方式
    54. for k,v in NewDict.items():
    55. print(k,v)
    56. #
    57. Aa 90
    58. Bb 100
    59. Cc 100

  • 相关阅读:
    2022部署本地仓库harbor,供k8s使用
    java计算机毕业设计体育用品购物系统源码+系统+数据库+lw文档
    SpringBoot整合Flowable
    基于javaweb+mysql的新闻发布管理系统
    过滤器Filter/监听器Listener
    2022牛客多校第四场C.Easy Counting Problem
    风控模型黑箱可解释,试下这个方法来演示
    nvidia-1080服务器上离线安装mmdetection2.23步骤
    使用spring注解时@Service注解,在注入时为null的问题
    计算机毕业设计Java大型商场应急预案管理系统(源码+系统+mysql数据库+lw文档)
  • 原文地址:https://blog.csdn.net/qq_55723966/article/details/127135386