Python字符串格式化输出 & 函数(3.12)

1.字符串格式化

1.字符串格式化 - 格式占位符

1)

语法:包含字符串占位符的字符串 %(数据1,数据2,数据3…)

%s - 字符串对应的占位符(可以用任何类型的数据赋值)

%d - 整数对应的占位符(一般用整数赋值)

%f - 小数对应的占位符(默认保留六位小数);%.Nf - 保留N位小数

2)数据

个数必须和前面的占位符的个数保持一致

数据可以是任何有结构的表达式

当只有一个数据的时候括号可以省

name='cyt'
age=3
money=14324

message='%s几年%d岁! 月薪:%f元' %(name,age,money)
message1='%s几年%s岁! 月薪:%s元' %(name,age,money)
print(message)
print(message1)

num=1.234
message='abc:%s'%num
print(message)#abc:1.234

message='abc:%d'%num
print(message)#abc:1

message='abc:%.2f'%num
print(message)#abc:1.23

2.f-string

在字符串最前面加f,就可以通过 f’{表达式}'结构来确定字符串中变化的内容

name='cyt'
age=3
money=14324

message=f'{name}今年{age}岁! 月薪:{money}元,a的编码值是:{ord("a")}'
print(message)

{表达式:参数}

1):.Nf - 控制保留N位小数

num=1.2434
print(f'a:{num:.2f}')# a:1.24

2)

数据:符号>N - 让数据变成长度是N的字符串,不够的在前面填充指定符号

数据:符号<N - 让数据变成长度是N的字符串,不够的在后面填充指定符号

num = 4   # 004
print(f'python2101{num}')   # python21014
print(f'python2101{num:0>3}')   # python2101004
print(f'python2101{num:0<3}')   # python2101400
print(f'python2101{num:*<3}')   # python21014**
print(f'python2101{num:x>4}')   # python2101xxx4

3) :.N% - 将数转换成百分比,同时百分数保留N位小数

num = 0.75
print(f'及格率:{num:.1%}')  # 及格率:75.0%

4) :,k

money = 198000008
print(f'余额:{money:,}')   # 余额:198,000,008

3.function

1函数式编程:

遇到问题先思考有没有已经存在的方法解决这类问题,如果没有,就自己创建能解决这类问题的函数

2函数 - 实现特定功能的代码的封装

分类;系统函数 - python自带函数,需要就调用

自定义函数 - 自己创建使用

3定义函数

参数列表 - 形参列表

        多个变量名用逗号隔开:n1,n2,n3...
        作用:将函数外部的数据传到函数里边
        形参个数:看实现函数功能需要几个就给几个形参
     -  实参列表
        实参就是通过形参传递到函数中使用的数据
        实参有多少个看形参有多少个

4.调用函数 - 函数名(实参列表)

5.函数调用过程:

        当程序执行到调用函数语句的时候:
        第一步:回到函数定义的位置
        第二步;传参(用实参给形参赋值),传参的时候必须保证每个参数都有值
        第三步:执行函数体
        第四步:确定函数返回值(下周才讲)
        第五步:回到函数调用的位置接着往后执行

练习1:定义一个函数统计字符串中中文的个数

def chinese_count(string):
    count = 0
    for x in string:
        if '\u4e00' <= x <= '\u9fa5':
            count  = 1
    print(count)

chinese_count('sjj十几年ss82数据库')

练习2:定义一个函数将指定列表中的元素逆序

def reverse_list(list1):
    print(list1[::-1])

reverse_list([23, 90, 89])

练习3:定义一个函数删除指定字符串中指定字符

def del_char(string, char):
    new_str = ''.join([x for x in string if x != char])
    print(new_str)

del_char('ajsjjskakaaas', 'a')

练习4:定义一个函数将两个字符串中的字符交叉合并:'abc’、'123’ -> a1b2c3 'abc’、'123456’ ->a1b2c3456

def crisscross_merge(str1, str2):
    new_str = ''
    l1, l2 = len(str1), len(str2)
    if l1 > l2:
        l1, l2 = l2, l1

    for index in range(l1):
        new_str  = str1[index]   str2[index]

    new_str  = str1[l1:]   str2[l1:]
    print(new_str)

列表基础练习题

选择题

  1. 下列选项中能正确表示一个列表的是(D)。

    A.{1, 2, 3}

    B.[10, abc, 123]

    C. [10 20 30]

    D.[1, 2, 3]

  2. (多选)已知一个列表nums = [10, 20, '小明', [1, 2]],以下表达式结果是小明的是?(CD)

    A. nums[-3]

    B. nums[3]

    C.nums[-2]

    D. nums[2]

  3. 以下选项关于列表说法错误的是?(C)

    A. 列表可以放在for循环的in后面

    B. 列表是可变的序列

    C. 列表是有序的,只支持增删改,不支持查操作

    D. 列表的in操作可以判断元素是否存在

  4. 已知一个列表names = ['小乔', '甄姬', '王昭君', '妲己', '女娲', '西施', '嬴政'],下面的表达式中结果是[]的是?(C)

    A. names[1:]

    B. names[:1]

    C. names[1:4:-1]

    D. names[1:4:2]

  5. 已知列表list1 = [10, [1, 2], 100, 1000],下列表达式结果是True的是?(D)

    A. 100 not in list1

    B. 1 in list1

    C. 2 in list1

    D. [1, 2] in list1

  6. 下列选项中不属于序列的是?(BCD)

    A. []

    B. '100’

    C. {1, 2}

    D. 100

  7. 已知student = {'name': '小明', 'age': 18, 'gender':'男'}下列关于字典的操作正确的是?(D)

    A. student('name')

    B. student[name]

    C. student['小明']

    D. student['age']

  8. 下列表达式有误的是?(D)

    A. 100 30.03

    B. 188 * '12'

    C. 188 * 12

    D. 188 '12'

  9. (多选)下列表达式能产生[1, 2, 3]的是?(AD)**************************不会

    A. [1, 2] [3]

    B. [1, 2].append(3)

    C. [1, 2].extend(3)

    D. [1, 2, 3] * 1

  10. (多选)下列选项中属于可变序列的是?(AC)

    A. 列表

    B. 元组

    C. 字典

    D. 字符串

填空题

  1. python中获取指定数据的类型可以使用( type() )函数。
  2. 查看数据地址的函数是( id() )。
  3. 如果要将数据转换成列表,需要使用( list() )。
  4. ( len() )函数可以用来获取任意序列中元素的个数。
  5. 如果需要将一个数据插入到列表的中间需要使用函数(insert() )。
  6. Python中数学集合运算中求交集、并集、差集和对称差集的符号分别是( & )、(| )、( - )、( ^ )。
  7. 请列举出你知道的Python中的不可变的数据类型:( 整型,字符串,元组 )。
  8. 获取字符编码值和获取编码值对应的字符的函数分别是( ord() )、( chr() )。
  9. 如果要判断序列中是否存在某个元素可以使用( in )来判断。
  10. 如果要判断两个数据的地址是否相等可以使用( id(a)==id(b) )。

编程题

  1. 已知一个列表names = ['胡歌', '王凯', '王俊凯', '杨幂', '刘德华', '张国荣', '王祖贤', '张伟']

    1)依次打印列表中的每个元素

    2)统计列表中姓的人的个数。

    3)统计名字是两个字的人的个数。

names = ['胡歌', '王凯', '王俊凯', '杨幂', '刘德华', '张国荣', '王祖贤', '张伟']
count1=0
count2=0
for i in range(len(names)):
    print(names[i])
    if names[i][0]=='张':
        count1 =1
    if len(names[i])==2:
        count2 =1
print(f'{count1}人姓"张",名字是两个字的有{count2}人')

结果:

  1. 已知字典dog = {'name': '大黄', 'color': 'yellow', 'age': 3, 'kind': '土狗'}

    1)打印所有key对应的值

    2)将name的值修改成 '旺财’

    3)添加狗的价格对应的键值对

    4)清空dog字典

dog = {'name': '大黄', 'color': 'yellow', 'age': 3, 'kind': '土狗'}
for x in dog:
    print(dog[x])
dog['name']='旺财'
print(dog)
dog.setdefault('price',10000)
print(dog)
dog.clear()
print(dog)

结果:

  1. 已知字符串message = 'You see see, one day day!'

    1)统计字符串中非字母的字符个数

    2)提取出所有的小写字母

来源:https://www.icode9.com/content-1-888601.html

(0)

相关推荐

  • 小白必学教程:Python变量的定义和使用

    所有的一种编程语言都需要处理数据,如数字.字符串.字符等等,我们可以直接使用数据,或者把它保存到一个变量中,以方便以后使用. 变数(Variable)可看作是一个专门用于在程序中"装入&qu ...

  • python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

  • Python变量的定义和使用

    Python编程学习圈 昨天 任何编程语言都需要处理数据,比如数字.字符串.字符等,我们可以直接使用数据,也可以将数据保存到变量中,方便以后使用. 变量(Variable)可以看成一个小箱子,专门用来 ...

  • Python基础学习笔记(一)变量与数据类型

    https://m.toutiao.com/is/J3fN6eK/ Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如N ...

  • 入行AI,程序员为什么要学习NLP?

    脚本之家 你与百万开发者在一起 来源 | 异步 "认知"的核心技术是自然语言处理,这是人工智能领域中的一个重要方向,研究各种理论和方法,涉及的领域较多,主要包括机器翻译.阅读理解. ...

  • Python期末复习笔记

    Python期末复习笔记 簟纹 关注 0.154 · 字数 4487 · 阅读 1780 2021-01-07 21:54 本篇根据老师画的重点基本上将期末考点都囊括了 如果发现有错误或遗漏欢迎各位在 ...

  • 【Python面试】 说说Python中有几种数据类型?​

    最近公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开 ...

  • f-string: 改进的 Python 字符串格式化语法

    f-strings 是 Python 3.6 引入的一种非常棒的字符串格式化方法. 相比其他格式方法,f-strings 更易读.更简洁.更少犯错,也更快. 在了解为什么以及如何使用 f-string ...

  • Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  • Python字符串及其简单格式化

    Python字符串及其简单格式化

  • Python format 格式化函数 | 菜鸟教程

    Python format 格式化函数 Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...

  • 说说Python有几种字符串格式化?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • python格式化输出

    Table 1.1. 字符串格式化代码 格式 描述 %% 百分号标记 %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x ...

  • Python格式化输出的三种方式

    一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age is xxx. 很明显,用逗号进 ...

  • Python中三种格式化输出的方式

    程序中经常会出现这样的 场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄,然后打印如下格式: # a = '------------- info -------------' ...

  • 统计成绩常用Excel函数公式12例,工作早做完,告别加班

    [温馨提示]亲爱的朋友,阅读之前请您点击[关注],您的支持将是我最大的动力! 新学期马上开始了,是不是又要对学生分数统计分析了.今天阿钟老师分享几个统计成绩常用的Excel函数公式,让分数统计分析变得 ...