【python3两小时快速入门】入门笔记01:基础

时间:2024-06-30 08:07:43

又要我搞爬虫了,这次的源网站使用的ajax加载数据,我用java爬下来的页面内容部分全都是空,虽然java也有插件,但是使用起来感觉很麻烦,所以,python!老子来了。

   1、 版本:python3

肯定选3啊,据说23版本差异巨大,但是3也出来很久了,第三方类库估计都肯定跟上了;再说IT这行业,学新不学 旧,所以,直接安装了python3并且配置完成环境变量.环境变量啊配置方法百度。

详细版本如图:

【python3两小时快速入门】入门笔记01:基础

   2、IDE:pyCharm 30天试用版

肯定是要IDE的,安装完了就是敲,,装完打开直接hello world

【python3两小时快速入门】入门笔记01:基础

3、语法

    A:基础

  01注释

# 这是单行注释
'''
多行注释1
'''
"""
多行注释2
"""

    02缩进数的空格数不一致,会导致运行错误

    03Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句

04import 与 from...import(重点)

    在 python 用 import 或者 from...import 来导入相应的模块。

摘抄自:http://www.runoob.com/python3/python3-basic-syntax.html
将整个模块(somemodule)导入,格式为: import somemodule 从某个模块中导入某个函数,格式为: from somemodule import somefunction 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc 将某个模块中的全部函数导入,格式为: from somemodule import *
#导入 sys 模块
import sys
print('================import=================================');
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
#导入 sys 模块的 argv,path 成员 from sys import argv, path # 导入特定的成员 print('================from import==============================')
print('path:', path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

    05类型判断

# !/usr/bin/python3
a=111
print(type(a))#<class 'int'>
print(isinstance(a, int))#true class A:
pass
class B(A):
pass
result=isinstance(A(), A) # returns True
print(result)
result=type(A()) == A # returns True
print(result)

    B:变量

       01数据类型:

       

Python3 中有六个标准的数据类型:

  • Number(数字)Python3 支持 int、float、bool、complex(复数)
  • String(字符串)
  • List(列表)
  • Tuple(元组)相当于数组
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

    摘抄自:http://www.runoob.com/python3/python3-basic-syntax.html
python中单引号和双引号使用完全相同。
使用三引号('''或""")可以指定一个多行字符串。
转义符 '\'
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标]

       02声明

str="变量声明aaabbbcccddd";
print(str[4:])
#声明变量
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "博主在runoob学习的基础,它们网站好棒啊" # 字符串

      03删除声明通过使用del语句删除单个或多个对象。例如:

del var
del var_a, var_b

       04集合

list(http://www.runoob.com/python3/python3-data-structure.html)

list = ['abcd', 786, 2.23, 'runoob牛逼', 70.2]
tinylist = [123, 'runoob牛逼'] print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表

listAPI

list.append(x) 	把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。
list.extend(L) 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。
list.insert(i, x) 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。
list.remove(x) 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。
list.pop([i]) 从列表的指定位置移除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被移除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。)
list.clear() 移除列表中的所有项,等于del a[:]。
list.index(x) 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。
list.count(x) 返回 x 在列表中出现的次数。
list.sort() 对列表中的元素进行排序。
list.reverse() 倒排列表中的元素。
list.copy() 返回列表的浅复制,等于a[:]。

补充元组(数组)tuple

tuple = ('abcd', 786, 2.23, 'runoob又牛逼了', 70.2)
tinytuple = (123, 'runoob又牛逼了') print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出从第二个元素开始到第三个元素
print(tuple[2:]) # 输出从第三个元素开始的所有元素
print(tinytuple * 2) # 输出两次元组
print(tuple + tinytuple) # 连接元组

    C:表达式

    加点乘除取模取余自不多说,遇到问题问度娘

>>>5 + 4  # 加法
>>> 4.3 - 2 # 减法
>>> 3 * 7 # 乘法
>>> 2 / 4 # 除法,得到一个浮点数
>>> 2 // 4 # 除法,得到一个整数
>>> 17 % 3 # 取余
>>> 2 ** 5 # 乘方

    D:方法

01一般用法

def 函数名(参数列表):
函数体
# 计算面积函数
def area(width, height):
return width * height
#默认参数
def areaDefault(width=10, height=10):
return width * height def getArea():
print("狗窝的面积为",area(10,2),"平方米")
def getAreaDefault():
print("狗窝的默认面积为",areaDefault(),"平方米")
#调用
getArea(); getAreaDefault();

02参数带两个星号 **基本语法如下:

def functionname([formal_args,] **var_args_dict ):
"函数_文档字符串"
function_suite
return [expression]
#**传参
def printinfo(arg1, **args):
print(arg1)
print(args) # 调用printinfo 函数
printinfo(1, a=2, b=3)

03匿名函数

python 使用 lambda 来创建匿名函数。

所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。

  • lambda 只是一个表达式,函数体比 def 简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
lambda [arg1 [,arg2,.....argn]]:expression
# lambda表达式
sum = lambda arg1, arg2: arg1 - arg2 # 调用sum函数
print("相减后的值为 : ", sum(30, 20))

还有一种嵌套不写了,遇到百度

04变量作用域:自己感受就行