比较草率的Python基础知识笔记

时间:2021-11-27 17:12:07

因为工作需要,博主最近在学习Python的一些基础知识,不求有多精通,但一些基本的代码还是要看懂才行,在此分享一下这几天整理的学习笔记,望各位能够不吝赐教。


#放在行首用于注释该行

多行注释可以使用三引号"""

eg.
"""Sipping from your cup 'til it runneth over,
Holy Grail.
"""

print用于输出
raw_input()接收一个字符串并输出,再等待用户赋值

eg. name = raw_input("What's your name?")

格式化输出

string_1 = "Camelot"
string_2 = "place"
print "Let's not go to %s. 'Tis a silly %s." % (string_1, string_2)

Python语句中一般以新行作为为语句的结束符。
但是我们可以使用反斜杠( \)将一行的语句分为多行显示,如下所示:
total = item_one + \
item_two + \
item_three

from import 导入包内的一个类或一个函数
import 导入一个包

导入包之后,可以通过dir(包名)来查看包内结构

max(num1,num2,...numn) 返回任意个整数或浮点数中的最大值
min(num1,num2,...numn) 返回任意个整数或浮点数中的最小值
abs(num) 返回某个数的绝对值
type(para) 返回当前参数的数据类型,判断形式如type(para) == int

start, end, stride = 1, 6, 2 分别赋值

----标准数据类型----

Numbers(数字)
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
String(字符串)
List(列表) [] 有序、可变 for in访问的是具体对象
Tuple(元组) ()
Dictionary(字典) {} 无序、可变 for in访问的是键

----算术运算符----

+ - * /
** 幂运算
// 取整除

----比较运算符----

== != < <= > >=

与 and
或 or
非 not

----条件语句----

if condition1:
	command1
elif condition2:
	command2
else:
	command3

----循环语句----

for variable in list_name:
	command
	
for variable in range(len(list_name))
	command

#枚举列表中每一项的索引和值
for index,item in enumerate(list_name)
	print index,item

#	condition不满足时会进入else,也就是说break跳出循环不会进入else
while condition:
	command1
else:
	command2

----函数定义----

def function([parameter]):
	[return]

----进制转换----

bin(num) 十进制转化为二进制
oct(num) 十进制转化为八进制
hex(num) 十进制转化为十六进制
int("num",2) 二进制转化为十进制

----字符串函数&方法----

len(string) 返回字符串字符个数
string.lower() 将字符串内的大写字母小写化
string.upper() 将字符串内的小写字母大写化
str(var) 将非字符串类型转化为字符串类型
string.isalpha() 检查字符串是否只包含英文字母
string[1:len(string)] 字符串截取
string.split() 分割字符串,返回结果列表list

----datetime常见用法----

datetime.now() 获取当前时间
datetime.now().year 获取当前时间的年份
datetime.now().month 获取当前时间的月份
datetime.now().day 获取当前时间的日份
datetime.now().hour 获取当前时间的时
datetime.now().minute 获取当前时间的分
datetime.now().second 获取当前时间的秒

----列表函数&方法----

cmp(list1,list2) 比较两个列表的元素
len(list) 列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
sum(list) 返回列表所有元素之和
list(seq) 将元组转换为列表
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop(index=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort([func]) 对原列表进行排序
item not in list 判断元素item是否在列表list内

sorted(list)

sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

[1, 2, 4] + [4, 5, 6] = [1, 2, 4, 4, 5, 6]
["O"] * 5 = ['O','O','O','O','O']
"---".join(['a','b','c','d']) = 'a---b---c---d'

range用法
01.range(stop) eg. range(6) # => [0,1,2,3,4,5]
02.range(start, stop) eg. range(1,6) # => [1,2,3,4,5]
03.range(start, stop, step) eg. range(1,6,3) # => [1,4]

列表构造
[x ** 2 for x in range(1, 12) if x % 2 == 0] = [4, 16, 36, 64, 100]

list[start:end:stride]

filter(function, iterable)
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

①lambda x: x % 3 == 0
②def by_three(x):
    return x % 3 == 0
①②等价

----字典函数&方法----

del dict_name[key_name] 删除键值对

d = {
    "Name": "Guido",
    "Age": 56,
    "BDFL": True
}
print d.items()
# => [('BDFL', True), ('Age', 56), ('Name', 'Guido')]

print d.keys()
# => ['BDFL', 'Age', 'Name']

print d.values()
# => [True, 56, 'Guido']

----类的定义----

class NewClass(object):
    # Class magic here

__init__() 类内构造器
__repr__() 根据提供的格式展示实例

class DiffNewClass(NewClass):
	# Class magic here
	#继承NewClass类

super(DiffNewClass, self) <=> NewClass 表示父类、超类

----文件输入输出----

f = open("output.txt", "w")			只写的方式打开文件
for item in my_list:
    f.write(str(item) + "\n")		将列表每一项写入文件每一行
f.close()							关闭文件
f.read()							读取整个文件
f.readline()						读取文件的一行
f.closed							该属性表示当前文件是否已经关闭

with open("file", "mode") as variable:
    # Read or write to the file
#执行完指令后自动关闭文件