python自学(查缺补漏)--1

写在前面的话:

之前为了学习爬虫和机器学习,很潦草的学习了python,现在发现很多地方并不是特别明确,重新查缺补漏,记录一些容易忽视的内容
参考的网站:
廖雪峰官方网站

输入input()

# 输入的数字被赋值给a,会自动根据输入的类型定义a的类型
a = input()
# 输入多个数据可以采用这种方式,间隔数据的分隔符可以填在split的括号中
a,b = input().split()
"""
也可以采用for循环的方式对数据进行录入
input的括号中可以添加想要显示的提示文字
"""
name = input("plz input your name:")

字符串拼接

str1 = "I love"
str2 = "python"
str3 = "machine learning"
print(str1 + str2)
# 输出为I lovepython
print(str1, str3)
# 输出为I love machine learning
"""
"+"没有空格符,直接凭借在一起,
”,"中间会有空格符
"""

转义字符""

print("\\\n")
"""
这里输出为:
\

第一个\被识别为转义符,将第二个\输出
第三个\被识别为转义符,和n组合起来被当作换行符
"""
print("\\n")
"""
这里输出为:
\n
第一个\被识别为转义符,将后面的\n组合在一起输出
"""
print(r"\\\n")
"""
这里输出为:
\\\n
只要前面加"r",就会把后面的内容全部输出而不会被识别为转义符
"""

输出多行内容

print("a
b
c")
"""
输出的结果为:
a
b
c
只要print时按照不同行输入,结果就是不同行显示
"""

编码和解码(encode()和decode())

一个英文字母占一个字节,一个中文汉字占用三个字节
在字符串保存磁盘或传输时需要将类型转化为bytes

b'abc'
'abc'.encode('ascii')
"""
两种方法是等价的,这里的ascii是指abc的编码方式
"""
'中文'.encode('utf-8')
# encode()为编码
b'abc'.decode('ascii')
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
#相应的decode()为解码,直接得到
# abc
# 中国
b'\xe4\xb8\xad\xdf'.decode('utf-8', errors='ignore')
# 忽略错误字符

格式化

"""
python采用%来格式化输出,常见的占位符有%s,%d,%f,%x(十六进制)
"""
 "I'm %s"%"tom"

另一种格式化方式format(),不推荐,较麻烦

# 通过位置来定位,具体可以参见廖雪峰的官方网站
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)

list

list[-1]
# 列表中最后一个元素
list.insert(index, 'nnn')
# 在指定的位置插入元素
list.pop()
# 删除列表末尾的元素
list.pop(index)
# 删除列表中指定位置的元素
list[index] = ' '
# 直接对列表中指定位置的元素进行修改

tuple

t = (1,)
# 定义一个元素的tuple时,必须添加",",避免跟数学符号小括号发生歧义,导致最后的结果变成了数字1

条件判断

if  a>b and a<99:
	pass
elif a>c or c==90:
	pass
else:
	pass

循环

while n < 10:
    n = n + 1
    print(n)

dict

dict内部存放的顺序和key放入的顺序没有关系

 d = {'a': 5, 'b': 7, 'c': 8}
 d['a']
 # 获取key为a对应的value,如果没有a会报错
 d.get('a')
 # 功能和前面一样,如果没有a,会返回none
 d.get('a', -1)
 # 功能和前面一样,如果没有a,会返回-1,可以自己指定
 d.pop('b')
 # 删除key为b的元素

函数的参数

自定义函数同时传递多个参数

def an(b):
	print(b)
an([1,3,5,7,9])
# 两种方法
def an1(*b):
	print(b)
an1(1,3,5,7,9)	

猜你喜欢

转载自blog.csdn.net/fuzizhu1/article/details/103238124