python进阶之路第二话

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44327634/article/details/102734002

python基础中需要注意的点001

记,我曾经踩过的坑

1.print()函数详细的语法格式

print(“value,…,sep = ‘’,end = ‘\n’,file = sys.stdout,flush = False”)
1.使用print()函数输出多个变量时,默认以空格隔开多个变量,即sep = ’ ',可通过设置sep参数进行设置。如用分隔符设置:sep = ‘|’ 。
2.end = '\n’,是默认换行,重设end = ’ '后不换行。
3.file参数默认值为sys.stdout,代表了系统的标准输出即屏幕,可改参数让print()函数输出到特定文件中,例如如下代码:

f = open("poem.txt","w")#打开文件以便写入
print("海日生残夜,",file = f)
print("江春入旧年。",file = f)
f.close()

效果如下图:
在这里插入图片描述
4.flush参数用于控制输出缓存,一般保持为False即可,这样可以获得较好的性能。

2.复数的使用

python支持复数,复数的虚部用j或J表示,用法如下:

ac1 = 3 + 2j
print(ac1)
print(type(ac1))#输出为复数类型

运行结果如下:
在这里插入图片描述
-1的开方是i,虚数单位。规定 i² = -1,并且 i 可以与实数在一起按照同样的运算律进行四则运算,i 叫做虚数单位。此处的虚数单位i在python中用j表示,演示代码如下:

import cmath
ac1 = cmath.sqrt(-1)
print(ac1)#会输出1j

3.repr和字符串

repr()和str()都可以把其他数据类型转换成字符串,其中str本身是python内置的类型(和int,float一样),而repr()则只是一个函数,且repr()会以python表达式的形式来表示。请看如下几行代码:

st = 'Are you ok ?'
print(st)
print(repr(st))

运行结果如下:
在这里插入图片描述
上面代码中st本身就是一个字符串,直接使用print()函数输出不带引号,但如果先使用repr()函数处理,再用print()函数输出将会看到带引号的字符串—即字符串的python表达式形式。

4.字符串,字节串,编码,解码问题

先提一下原始字符串,由于字符串中的反斜线都有特殊的作用,因此当字符串中包含反斜线时就需要对其进行转义,比如写windows路径时转义时要一个个加反斜线很烦人,这时候原始字符串就派上用场了。原始字符串以“r”开头,它不会把反斜线当成特殊字符,用法很简单,看下面的代码:

s = r"E:\python\python进阶之路\\来变强啊!"
print(s)

字符串前加r,直接原样输出:
在这里插入图片描述
编码和解码:
encode(编码格式) 编码之后的结果是 bytes b’ ’
decode(编码格式) 解码, 把bytes变回字符串
用什么编码就用什么解码,爬虫解析网页时需检查网页源代码,一般都是看charset,有的是utf-8,有的是gbk或者其他编码,解析时注意一下就行了。

b1 = b'hello'
print(b1)#b'hello'
print(b1[0])#104
print(b1[2:4])#b'll'
b2 = bytes('海日生残夜',encoding='utf-8')#输出十六进制
b3 = "江春入旧年".encode('utf-8')  #输出十六进制
b4 = b3.decode('utf-8')#字节串bytes转成字符串
print(b2)
print(b3)
print(b4)

在这里插入图片描述

5.转换说明符

n = -36
print("num is:%6i"%n)#十进制整数
print("num is:%6x"%n)#转换成十六进制整数

结果如下:
在这里插入图片描述
看上面的程序,%6中的6代表指定字符串最小宽度为6,因此程序转换数值时总宽度为6,程序自动在数值前面补充三个空格。在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。可以在最小宽度之前添加一个标志来改变这种行为:
- :指定左对齐
+:表示数值总要带着符号,正数带"+",负数带"-"
0:表示不补充空格而是补充0
代码用法如下:

n = 30
print("n is :%06d"%n)   #000030
print("n is :%+06d"%n)  #+00030
print("n is :%-6d"%n)   #30

运行结果:
在这里插入图片描述

6.字符串分割、连接方法

s = 'Please.love tell me how are you'
print(s.split())#空白分割
print(s.split(None,2))#空白分割,最多只分割前两个单词
print(s.split('.'))#使用.进行分割
s1 = s.split()
print('/'.join(s1))#使用/作为分隔符,将s1连接成字符串
print(','.join(s1))#使用,作为分割符,将s1连接成字符串

运行结果如下:
在这里插入图片描述
从上面的运行结果可以看出,str的split()和join()方法互为逆操作,即split()方法用于将字符串分割成多个短语,而join()方法则用于将多个短语连接成字符串。

结语

从本篇博客开始,讲的都是一些python基础中比较细节性的知识点(出bug最多的点),一般的特别基础性的东西会直接略过,所以在python基础部分可能过的比较快,之后会讲面向对象、模块和包的内容。
浩浩烟海,沧沧无涯,这注定是一个枯燥无味甚至痛苦的过程,我们只管坚守住初心。其实,我们等的并不是那一树的花开,而是那颗似锦繁花之下越来越好的自己。凡心所向,素履以往,生如逆旅,一苇以航。

猜你喜欢

转载自blog.csdn.net/weixin_44327634/article/details/102734002
今日推荐