分享

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

 hoezigin 2019-03-22

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

   1、 版本:python3

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

    详细版本如图:

   2、IDE:pyCharm 30天试用版

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

3、语法

    A:基础

    01注释

  1. # 这是单行注释
  2. '''
  3. 多行注释1
  4. '''
  5. """
  6. 多行注释2
  7. """

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

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

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

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

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

    05类型判断

  1. # !/usr/bin/python3
  2. a=111
  3. print(type(a))#<class 'int'>
  4. print(isinstance(a, int))#true
  5. class A:
  6. pass
  7. class B(A):
  8. pass
  9. result=isinstance(A(), A) # returns True
  10. print(result)
  11. result=type(A()) == A # returns True
  12. 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(集合)。
  1. 摘抄自:http://www.runoob.com/python3/python3-basic-syntax.html
  2. python中单引号和双引号使用完全相同。
  3. 使用三引号('''或""")可以指定一个多行字符串。
  4. 转义符 '\'
  5. 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
  6. 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
  7. 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  8. Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  9. Python中的字符串不能改变。
  10. Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  11. 字符串的截取的语法格式如下:变量[头下标:尾下标]

       02声明

  1. str="变量声明aaabbbcccddd";
  2. print(str[4:])
  1. #声明变量
  2. counter = 100 # 整型变量
  3. miles = 1000.0 # 浮点型变量
  4. name = "博主在runoob学习的基础,它们网站好棒啊" # 字符串
      03删除声明通过使用del语句删除单个或多个对象。例如:
del var
del var_a, var_b

       04集合

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

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

listAPI

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

补充元组(数组)tuple

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

    C:表达式

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

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

    D:方法

01一般用法

  1. def 函数名(参数列表):
  2. 函数体
  1. # 计算面积函数
  2. def area(width, height):
  3. return width * height
  4. #默认参数
  5. def areaDefault(width=10, height=10):
  6. return width * height
  7. def getArea():
  8. print("狗窝的面积为",area(10,2),"平方米")
  9. def getAreaDefault():
  10. print("狗窝的默认面积为",areaDefault(),"平方米")
  11. #调用
  12. getArea();
  13. getAreaDefault();
02参数带两个星号 **基本语法如下:
  1. def functionname([formal_args,] **var_args_dict ):
  2. "函数_文档字符串"
  3. function_suite
  4. return [expression]
  1. #**传参
  2. def printinfo(arg1, **args):
  3. print(arg1)
  4. print(args)
  5. # 调用printinfo 函数
  6. printinfo(1, a=2, b=3)
03匿名函数

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

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

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

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

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





    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多