之前为了学习爬虫和机器学习,很潦草的学习了python,现在发现很多地方并不是特别明确,重新查缺补漏,记录一些容易忽视的内容
参考的网站:
廖雪峰官方网站
# 输入的数字被赋值给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时按照不同行输入,结果就是不同行显示
"""
一个英文字母占一个字节,一个中文汉字占用三个字节
在字符串保存磁盘或传输时需要将类型转化为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[-1]
# 列表中最后一个元素
list.insert(index, 'nnn')
# 在指定的位置插入元素
list.pop()
# 删除列表末尾的元素
list.pop(index)
# 删除列表中指定位置的元素
list[index] = ' '
# 直接对列表中指定位置的元素进行修改
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内部存放的顺序和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)