Python补充前文未述知识

函数名说明

chr(x)

将对应的字符转换为ASCII编码,也可以将整数x转换为一个字符
ord(x)将对应的字符转换为unicode编码(包括中文)
bin(x)将一个整数x转换为一个二进制字符串
oct(x)将一个整数x转换为一个八进制字符串
hex(x)将一个整数x转换为一个十六进制字符串
eval()用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符串;该函数常和input()函数一起使用

基本的输入语句input

 基本语法格式

x = input('提示文字')

需要注意的是,提示文字不是必须的,一般推荐加上提示文字,这样可以提升程序的可读性;无论输入的数据是什么,x 的数据类型都是字符串(str) 类型。

示例代码如下

number = input('请输入一个数字')
print('您输入的数字是:'+number)
# 将number从str类型转换为int类型
number1 = int(number)
# 需要注意的是此处已经转为int类型,因此不能用+输出,可以用逗号进行输出,不过缺点为有空格
# 此时可以通过设置sep参数
print('您输入的数字是:',number1)
# 也可以使用格式化输出,此时不需要像print一样设置参数
print('您输入的数字是:{0}'.format(number1))

 代码运行结果

请输入一个数字66
您输入的数字是:66
您输入的数字是: 66
您输入的数字是:66

Process finished with exit code 0

基本的输出语句print

print()函数完整语法格式:

print(value,...,sep='',end='\n',file=None)
# 其中参数sep表示分隔符,即若不设置sep,默认输出内容之间的分隔符为 空格
# 参数end表示print输出所有内容之后(若有多个print,则只会在最后一个print生效)会默认输出换行

print函数除了可以输出字符外,还有其他用法,示例代码如下:

# 1.使用print输出古诗,可以用三引号,这样不会改变其格式
print("""《春江花月夜》
-张若虚
春江潮水连海平,海上明月共潮生。

滟滟随波千万里,何处春江无月明!

江流宛转绕芳甸,月照花林皆似霰。

空里流霜不觉飞,汀上白沙看不见。

江天一色无纤尘,皎皎空中孤月轮。

江畔何人初见月?江月何年初照人?

人生代代无穷已,江月年年望相似。

不知江月待何人,但见长江送流水。

白云一片去悠悠,青枫浦上不胜愁。

谁家今夜扁舟子?何处相思明月楼?

可怜楼上月徘徊,应照离人妆镜台。

玉户帘中卷不去,捣衣砧上拂还来。

此时相望不相闻,愿逐月华流照君。

鸿雁长飞光不度,鱼龙潜跃水成文。

昨夜闲潭梦落花,可怜春半不还家。

江水流春去欲尽,江潭落月复西斜。

斜月沉沉藏海雾,碣石潇湘无限路。

不知乘月几人归,落月摇情满江树。""")

# 2.使用print配合其他函数
print(chr(98))  # 输出b
print(chr(66))  # 输出B
print(ord('b')) # 输出98
print(ord('北')) # 输出 21271
print(chr(21271)) # 输出 北
# 3.分别设置参数sep 和 参数end
a = 'Python'
b = 'Study'
print(a,b) # 此时未设置参数
print(a,b,sep='\\') # 设置参数sep
print(a,b,end='')   # 设置参数end
# 4.使用+号输出内容,不过+连接的只能是字符串,此时下面两种输出方式输出的内容一样
print('Hello'+',World')
print('Hello,World')

中文声明注释

注意:该注释一定要写在第一行

示例代码如下

# coding=utf-8

加上这行语句后,此时文件的编码格式为UTF-8

关于浮点数

两个浮点类型的数在进行运算时,有一定的概率运算结果后增加一些“不确定的”尾数。

示例代码如下

print(0.1+0.2)
# 为了避免出现多余的尾数,可以使用round()函数第一个参数为要进行计算的数字,第二个参数为结果保留的小数位数
print(round(0.1+0.2,1))

代码运行结果

0.30000000000000004
0.3

Process finished with exit code 0

关于转义字符

原来的文章提到:在转义字符前添加r可以使得转义字符失效,实际上,添加R也可以。

示例代码如下

cities = '北京\t上海\t广州\t深圳'
print(cities)
cities1 = r'北京\t上海\t广州\t深圳 r'
print(cities1)
cities2 = R'北京\t上海\t广州\t深圳 R'
print(cities2)

代码运行结果

北京	上海	广州	深圳
北京\t上海\t广州\t深圳 r
北京\t上海\t广州\t深圳 R

Process finished with exit code 0

eval函数

基本语法格式如下

变量=eval(字符串)

示例代码如下

# 1.输入一个算术式的字符串,若去掉字符串,则会输出算术式运算的结果
s = '66+22'
print(s,type(s))
print('------去掉字符串后------')
s1 = eval(s)
print(s1,type(s1))
# 2.eval函数可以配合input函数使用,接收用户输入的字符串并将其转换为对应的数据类型,如数值
# (类似于int(x)或float(x)
print('-----接下来的输出2.中的内容-----')
age = eval(input('请输入您的年龄'))
print('您的出生年份为:',(2024-age))
# 3.若eval函数和字符串使用时,要注意对应的字符串是否有引用
# 如果去掉字符串之后没有引用,则在使用会出错
print('-----接下来的输出3.中的内容-----')
a = '广州欢迎你'
print(a) # 输出a
print(eval('a')) # 此时去掉两边的字符串后 广州欢迎你 指向变量a
# print(eval('广州欢迎你')) # 此时由于没有引用,因此报错NameError: name '广州欢迎你' is not defined

代码运行结果

66+22 <class 'str'>
------去掉字符串后------
88 <class 'int'>
-----接下来的输出2.中的内容-----
请输入您的年龄100
您的出生年份为: 1924
-----接下来的输出3.中的内容-----
广州欢迎你
广州欢迎你

Process finished with exit code 0

模式匹配

在Python3.11后新增了一个特性叫模式匹配

语法格式如下

match A:
    caseA的值1:
        语句1
    caseA的值2:
        语句2
    caseA的值3:
        语句3
    ...
    caseA的值n:
        语句n

示例代码如下

score = input('请输入您的评分等级:')
match score:
    case'A':
        print('优秀')
    case'B':
        print('良好')
    case'C':
        print('中等')

代码运行结果(输入A为例)

请输入您的评分等级:A
优秀

Process finished with exit code 0

此外,模式匹配还可以匹配对应的数据结构

示例代码如下

data = eval(input('请输入要匹配的数据类型:'))
match data:
    case {'name':'CSDN@邂逅自己'}:
        print('字典匹配成功')
    case [1,2,3]:
        print('列表匹配成功')
    case (1,2,3):
        print('元组匹配成功')
    case _:
        print('此时前面的所有数据结构都不能匹配成功,相当于多重if中的else')

代码运行结果

请输入要匹配的数据类型:{'name':'CSDN@邂逅自己'}
字典匹配成功

Process finished with exit code 0

 由于该文章的知识点是对前文的补充,所以如果是第一次看的读者可能会觉得晦涩难懂,还望大家多多包涵,另外,如果想要系统的学习Python知识,可以点开我的主页,点击专栏“Python零基础从入门到实战”进行学习。

最后,文章创作不易,如果觉得文章对大家有帮助的话,还请点赞+关注;如果有能力的话,也可以打赏一下喔,谢谢大家!!!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邂逅自己

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值