python编程快速上手自动化_Python编程快速上手——让繁琐工作自动化学习笔记

第一部分 基本语法

1、字符串不能直接和数字相加,要用str()转一下;但是可以和数字相乘,用于表示多个字符串复制;字符串不能和浮点数直接结合,字符串可以和字符串直接相加;

2、输入函数用input(),默认是字符串 计算字符串长度用len()

3、注释用#

4、类型转换,int()整型,str()字符串类型,float()浮点类型

5、**是求指数值 //是整除 /是除法

6、判断变量类型,type(变量)

第二部分 控制流

1、not 非 and 与 or 或

2、range(开始,结束,步长) 注意:循环不包括‘结束’

3、import 函数 导入函数 from import是另一种导入形式,举例 from random import * 可以在使用random函数时不用加random.前缀

4、sys.exit()提前结束程序,需要import sys

第三部分 函数

1、def 函数名(入参):

2、关键字 print('hello',end='') 连接字符 print('cats','dogs','mice',sep=',')用 ','代替‘ ’

3、要想在函数中修改全局变量,需要在全局变量前加上global关键字

4、异常处理 try 和except

常用的异常类型

ContractedBlock.gif

ExpandedBlockStart.gif

1 1、NameError:尝试访问一个未申明的变量2 >>>v3 NameError: name 'v' is notdefined4

5 2、ZeroDivisionError:除数为06 >>> v = 1/07 ZeroDivisionError: int division ormodulo by zero8

9 3、SyntaxError:语法错误10 >>>int int11 SyntaxError: invalid syntax (, line 1)

12

13 4、IndexError:索引超出范围14 >>> List = [2]15 >>> List[3]16 Traceback (most recent call last):17 File "", line 1, in

18 List[3]19 IndexError: list index out of range20

21 5、KeyError:字典关键字不存在22 >>> Dic = {'1':'yes', '2':'no'}23 >>> Dic['3']24 Traceback (most recent call last):25 File "", line 1, in

26 Dic['3']27 KeyError: '3'

28

29 6、IOError:输入输出错误30 >>> f = open('abc')31 IOError: [Errno 2] No such file or directory: 'abc'

32

33 7、AttributeError:访问未知对象属性34 >>> classWorker:35 defWork():36 print("I am working")37 >>> w =Worker()38 >>>w.a39 Traceback (most recent call last):40 File "", line 1, in

41 w.a42 AttributeError: 'Worker' object has no attribute 'a'

43

44 8、ValueError:数值错误45 >>> int('d')46 Traceback (most recent call last):47 File "", line 1, in

48 int('d')49 ValueError: invalid literal for int() with base 10: 'd'

50

51 9、TypeError:类型错误52 >>> iStr = '22'

53 >>> iVal = 22

54 >>> obj = iStr +iVal;55 Traceback (most recent call last):56 File "", line 1, in

57 obj = iStr +iVal;58 TypeError: Can't convert'int'object to str implicitly

59

60 10、AssertionError:断言错误61 >>> assert 1 != 1

62 Traceback (most recent call last):63 File "", line 1, in

64 assert 1 != 1

65 AssertionError

View Code

第四部分 列表

1、负数下标

整数-1下标指的是列表的最后一个下标,-2指的是列表的倒数第二个下标

2、利用切片取得子列表

spam[1:4]表示取得spam[1]到spam[3]的区间值作为一个新的切片,可以使用省略方法

spam[:4]表示取得spam[0]到spam[3]的区间值作为一个新的切片,省略的值取得是0

spam[1:]表示取得spam[1]到spam最后一个元素的区间值作为一个新的切片,省略的值取得是列表的长度

3、列表的长度

使用len(spam)

4、列表可以向数组那样进行赋值

5、列表的连接和复制

使用+可以连接两个连接为一个列表

使用['a','b','c']*n可以复制n个列表为一个列表

6、列表元素的删除

del spam[3]

7、列表的判断

1 in 'howdy' in ['hello','howdy']2 >>True3 not in

4 >> False

8、多重赋值

1 cat = ['fat','black','loud']2 size,color,disposition = cat

等号左侧的变量数目和列表长度必须严格相等,否则会报ValueError

9、增强赋值

类似于C中+=,*=,/=,-=,%=

增强赋值同样可以用于列表中,作用等于于对以元素为单位的操作

10、方法

类似于C++中类的成员方法

1 spam.index('hello') 取出'hello'在列表中的下标索引,重复值返回第一次出现的下标索引2

3 spam.append('yes') 在列表尾部追加一个元素4

5 spam.insert(1,'no') 在指定spam[1]之前插入一个元素6

7 spam.remove('hello') 删除指定元素,如果有多个重复元素存在,删除第一个元素,后面的元素不删除。8

9 spam.sort() 对数字按照由小到大排列,对字符串按照ASCII字符顺序排列10

11 spam.sort(reverse=True) 对字符串按照ASCII字符顺序逆序排列,对数字按照由大到小排列12

13 spam.sort(key=str.lower) 对表项全部按照小写字母进行排列14

15 spam.sort(1,2,3,'hello','no') -----WRONG,不能对既有数字又有字符串的列表进行排序,因为不知道按照那个原则进行排序

11、续行字符'\',在行末使用

12、可变对象和不可变对对象

可变即内存空间可变,不可变即内存空间不可变。可变的对象的变量在传递时,传递的是引用地址(可以理解为指针),所以拷贝的时候不是真正拷贝内存空间,仅仅是多了个变量指向相同的内存空间而已。对新的变量进行增删都会影响到原始变量,即浅拷贝。不可变对象,拷贝或通过新变量传递时,一旦发生修改,会新生成一个跟原来对象属于不同内存空间的新对象值。元组(tuple)、数值型(number)、字符串(string)均属于不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象。

13、引用

在变量必须保存可变数据类型的值时,例如列表或字典,Python就使用引用。对于不可变的数据类型的值,例如字符串、整型或元组,Python变量就保存值本身。

14、传递引用

当函数被调用时,参数的值被复制给变元。对于列表和字典,这意味着变元得到的是引用的拷贝。

15、copy模块的copy()和deepcopy()函数

使用copy.copy()来避免引用传递带来的麻烦,如果被复制的列表或字典中包含列表或字典,使用copy.deepcopy()

1 importcopy2 samp = ['A', 'B', 'C', 'D']3 cheese =copy.copy(samp)4 cheese[1] = 42

5 print(samp)

16、列表和字符串的共同点

列表和字符串都可以传入len(),都有下标和切片,用于for循环,连接或复制,并与in和not in操作符一起使用。

第五部分 元组

1、元组使用()进行区别,以逗号','作为最后一个截止,否则只有一个元素时有可能会不被认为是元组类型

2、列表和元组之间的类型转换 使用list() tuple()进行类型转换

3、列表和元组的区别

列表是可以修改的,他们可以添加值、删除值和修改值。元组是不可以修改的,他们根本不能改变。而且元组使用的是括号,而列表使用的方括号。

第六部分 字典和结构化数据

1、字典是许多值的结合,但不像列表的下标,字典的索引可以使用许多不同的数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对,字典使用花括号{}包裹。

2、字典与列表

字典也可以使用数字作为键;不像列表,字典中的表项时不排序的。相同的两个列表其顺序也必须是一样的,而字典则未必;因为字典是不排序的,所以不能进行列表那样的切片操作。

3、字典的查找和添加

查找键值是否位于字典中,可是使用in操作,字典键值对的添加可是使用普通的赋值操作进行。

检查该键是否存在于字典中,也可使用get()方法,其有两个参数,第一个是取得其键的值,第二个是如果查找键失败,返回的默认值

4、字典方法

keys()方法------取出字典键

values()方法----取出字典值

items()方法-----取出字典键值对

ContractedBlock.gif

ExpandedBlockStart.gif

1 spam = {'color': 'red', 'age': '42'}2 for i inspam.keys():3 print(i)4 for i inspam.values():5 print(i)6 for i inspam.items():7 print(i)8

9

10 age11 color12 42

13 red14 ('age', '42')15 ('color', 'red')

Python dictionary

可以将keys()和values()返回的值存储为列表,例如list(spam.keys())

也可以使用多重赋值的技巧,在for循环中将key和value对号入座

1 for k, v inspam.items():2 print('key:' + k + 'value:' + str(v))

setdefault()方法---设置字典键对应的默认值

如果没有默认值,将方法设置的值设置成功,如果已有默认值,则保持原状。

spam.setdefault('color', 'black')

5、漂亮打印

使用 import pprint 可以按照字典的样式打印出来,例如 pprint.pprint(myDict) ,如果想将打印的结果转为字符串而不是直接输出在屏幕上可以使用 print(pprint.pformat(myDict))

6、字典实战——棋盘井字游戏

ContractedBlock.gif

ExpandedBlockStart.gif

1 theBoard = {'top-L': ' ', 'top-M': ' ', 'top-R': ' ',2 'mid-L': ' ', 'mid-M': ' ', 'mid-R': ' ',3 'low-L': ' ', 'low-M': ' ', 'low-R': ' '}4 defshowBoard(board):5 print(board['top-L'] + '|' + board['top-M'] + '|' + board['top-R'])6 print('-+-+-')7 print(board['mid-L'] + '|' + board['mid-M'] + '|' + board['mid-R'])8 print('-+-+-')9 print(board['low-L'] + '|' + board['low-M'] + '|' + board['low-R'])10

11

12 turn = 'X'

13 for i in range(9):14 showBoard(theBoard)15 print('the turn for' + turn + 'move in which space ?')16 move =input()17 theBoard[move] =turn18 if turn == 'X':19 turn = 'O'

20 else:21 turn = 'X'

22 showBoard(theBoard)

井字游戏

7、字典作为一种数据类型,可以字典有嵌套字典

第七部分 字符串操作

1、字符串字面量

双引号“that's a cat ”:双引号同样可以表示字符串,并且在双引号中添加单引号作纯字符串使用;

转移字符‘\’:转移字符可以讲单引号转为普通字符,从而可以避免引起语义错误;

原始字符串r‘abc’:原始字符串任务‘’中的所有字符都是字符串的一部分,例如‘that is carol\'s cat ’中的转移字符‘\’也被认为是字符串的一部分从而打印为 that is carol\'s cat

三重引号''':使用print打印多行字符串时,可以使用三重分号将字符串打印出来,例如

print('''Dear Alice,

I like you very much .....''')

Dear Alice,

I like you very much .....

多行注释:代码中使用 '''Python''' 和 """Python""" 都可以起到注释代码的作用

字符串下标切片:字符串可以像列表一样使用下标切片取出部分字符串,但是并没有改变原来的字符串,只是新建了一个字符串,例如

1 sapm = 'hello world'

2 >>>spam[0]3 'H'

4 >>>spam[4]5 'o'

6 >>>spam[-1]7 'd'

8 >>>spam[0:5]9 'hello'

10 >>>spam[:5]11 'hello'

12 >>>spam[6:]13 'world'

字符串in和not in操作符:可以使用in或者not in判断一个字符串是否在另一个字符串中存在,返回值为布尔型。

2、字符串方法

字符串方法upper()、lower()、isupper()、islower():

isX字符串方法:

isalpha()返回TRUE,如果字符串只包含字母,并且非空;

isalnum()返回TRUE,如果字符串值包含字母和数字,并且非空;

isdecimal()返回TRUE,如果字符串包含数字字符,并且非空;

isspace()返回TRUE,如果字符串值包含空格,制表符和换行,并且非空;

istitle()返回TRUE,如果字符串仅包含以大写字母开头后面都是小写字母的单词;

字符串方法startswith()、endswith():

字符串方法join()、split():

join()连接字符串

>>','.joini['my','name','is']>>my,name,is

split()分离字符串

1 >>'myABCnameABCisABC'.split('ABC')2 >>['my','name','is']3

4 >>'My name is'.split('m')5 >>['My na','e is']

split('\n')以换行进行分割字符串

字符串对齐方法rjust()、ljust()、center():

左右对齐和居中,其中第二个参数是填充参数,可以选择填充字符;

字符串删除空白字符方法strip()、rstrip()、lstrip():

删除两边,右边和左边的空白字符,第二个参数启用时指定需要删除的指定字符串

字符串拷贝粘贴方法pyperclip():

1 '''

2 该模块需要单独安装3 '''

4 >>importpyperclip5 >>pyperclip.copy('Hello World!')6 >>pyperclip.paste()7 >>'Hello World!'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python编程快速上手可以帮助我们实现繁琐工作自动化Python是一种简单易学的编程语言,能够简化我们的工作流程,提高工作效率。 首先,Python具有丰富的函数库和开源工具,使得编写自动化脚本变得更加容易。我们可以使用Python来编写脚本,通过调用不同的库函数来完成各种任务,例如文件操作、数据处理、网络请求等。这些库函数已经被开发者广泛使用和测试,可以为我们节省大量的时间和精力。 其次,Python编程语言具有简洁的语法和优雅的代码风格。相比其他的编程语言,Python的代码更易读、易理解,这使得我们可以更快地上手并编写出高效的自动化脚本。Python的语法结构简单明了,可以大大缩减代码量,提高编码效率。 此外,Python还有丰富的第三方库和工具,如TensorFlow、Pandas、Numpy等,可以方便地进行数据分析、人工智能、机器学习等领域的工作。这些工具以及其提供的函数和方法大大简化了复杂任务的处理,帮助我们快速解决实际问题。 总的来说,Python编程快速上手能够让我们更方便地进行繁琐工作自动化。它的简单易学、优雅的代码风格以及丰富的函数库和工具使得我们能够高效地编写自动化脚本,提高工作效率,减少重复劳动,为我们节约时间和精力。无论是处理数据、完成文件操作,还是进行网络请求,Python都可以成为我们的得力助手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值