当前位置:   article > 正文

Python编程快速上手 让繁琐工作自动化 第一部分

python编程快速上手 让繁琐工作自动化

**         指数         2**3=8

//        整除/商数取整         22//8=2

%        取模/取余数

数据类型:整型、浮点型、字符串类型

可以使用字符串+字符串实现字符串的连接,还可以通过字符创*整型来实现字符串的复制

变量命名:

只能是一个词,不带空格

只能包含字母、数字和下划线

不能数字开头

第二章 控制流

break 跳出循环

continue 调回到循环开始处

range(5)   0 1 2 3 4

range(开始, 停止, 步长)    步长可以为负数

调用sys.exit() 可以提前终止或退出程序,该函数出于sys模块中

wins = 0
losses = 0
ties = 0
print('%s Wins, %s Losses, %s Ties' % (wins, losses, ties))
  • 1
  • 2
  • 3
  • 4

输出为:

0 Wins, 0 Losses, 0 Ties

第三章 函数

None 表示没有值

print("Hello", end='')
print("world")
  • 1
  • 2

将默认的end换行替换掉

print('cats', 'dogs', 'mice', sep=',')
  • 1

将默认的空格分隔字符串替换为逗号分隔字符串

局部和全局作用域:

全局作用域中的代码不能使用任何局部变量

局部作用域中的代码可以访问全局变量

一个函数的局部作用域中的代码,不能使用其他局部作用域中的变量

在不同的作用域中,你可以用相同的名字命名不同的变量。

global语句:

如果需要在一个函数内修改全局变量,就使用global语句。

如果在函数的顶部有global eggs这样的代码,它是在告诉python:“在这个函数中,eggs指的的全局变量”

Collatz序列:

def collatz(number_1):
    if number_1 % 2 == 0:
        return number_1//2
    elif number_1%2 == 1:
        return 3*number_1+1


try:
    number_2 = int(input("请输入一个数字\n"))
except ValueError:
    print("输入整数!")
else:
    while True:
        if collatz(number_2) == 1:
            print(collatz(number_2))
            break
        else:
            number_2 = collatz(number_2)
            print(number_2)
            continue

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

第四章 列表

列表名[索引]    获取列表元素

索引可以是整数也可以是负数

利用切片获得子列表:

span[1:4]是一个列表和切片,从索引1开始,到索引4结束(不包含索引4)

列表连接:spam = spam_1 + spam_2

in    noit in 来判断列表中是否存在某元素

列表还可以用于多重赋值

enumerate()函数与列表一起使用:

supply = ['pens', 'staplers', 'flamethrowers', 'binders']
for index, item in enumerate(supply):
    print(f"Index:{index} in supply is: {item}")
  • 1
  • 2
  • 3

可以得到列表中的表项的索引和表项本身

random.choice()和列表一起使用

可以返回一个随机选择的表项

random.shuffle()和列表一起使用

可以对列表中的表项重新排序,该函数将就地修改列表,而不是返回新列表‘’

使用index()方法在列表中查找值

如果该值存在于列表中,就返回他的索引,如果不存在就报错

supply = ['pens', 'staplers', 'flamethrowers', 'binders']
print(supply.index('pens'))

  • 1
  • 2
  • 3

sort()将列表中的值排序

不能对既有数字又有字符串值的列表排序

对字符串排序,使用ASCII字符顺序

如果需要按照普通的字典顺序来排序,就在调用sort()方法时,将关键字参数key设置为str.lower

使用reverse()方法反转列表中的值

列表是可变的数据类型,它的值可以添加、删除或改变,但是字符串是不可变数据类型,它不能被改变。元组也是不可变数据类型

使用list()和tuple()函数来转换类型

tuple()将传进的列表变成元组

list()将传进的元组变成列表

list()还可以将传进的字符串变成列表,‘he’   [‘h’, ‘e’]

引用

变量包含的实际上是对相应的值的引用,而不是包含值的本身!!!  P198

x = 'Howdy'
print(id(x))
x += 'what'
print(id(x))
  • 1
  • 2
  • 3
  • 4

输出:

2469185556336
2469185556400

而列表不变:

x = ['Howdy', 'what']
print(id(x))
x.append('how')
print(id(x))

  • 1
  • 2
  • 3
  • 4
  • 5

输出:

2275408057024
2275408057024

python会自动删除任何变量未被引用的值

传递引用

参数传递给引用,形参得到的是引用

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

copy()不只是复制引用,而是复制列表或字典这样的可变值

而对于不可变值,可以借助下面的函数进行参考:

import  copy

x = 'alice'
y = copy.copy(x)
print(id(x))
print(id(y))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果要复制的列表中包含了列表,那么就使用deepcopy(),deepcopy()函数将同时复制它们内部的列表

4.11.1 练习

def getlinks(spam):
    spam_1 = ''
    for item in spam:
        if spam.index(item) != len(spam)-1:
            spam_1 += f"{item} "
        elif spam.index(item) == len(spam)-1:
            spam_1 += f"and {item}"

    return spam_1


spam = ['apples', 'bananas', 'tofu', 'cats']
print(getlinks(spam))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

第五章 字典和结构化数据

字典中的项是不排序的,所以不能像列表那样切片

keys()  values() items()方法

以上三种方法将返回字典的键、值、键值对

可以使用in 和 not in 检查字典中是否存在键或值

get()方法

它有两个参数,分别为要取得其值的键,以及当该键不存在时返回的备用值

dictionary.get()

setdefault()方法

setdefault()提供了一种方法,可以在一行中完成这件事,传递给该方法的第一个参数是要检查的键,第二个参数是当该键不存在时要设置的值,如果该键确实存在,那么setdefault()方法就会返回键的值。

美观地输出  pprint()、pformat()函数

如果程序导入了pprint模块,就可以使用pprint()和pformat()函数,它们将美观地输出一个字典的字。如果希望将美观的文本作为字符串输出,而不显示在屏幕上,那就调用pprint.pformat()函数。

字符串操作

转义字符

’                单引号

"                双引号

\t                制表符

\n                换行符

\                倒斜杠

可以在字符串开始的引号前加上r,使它成为原始字符串,原始字符串完全忽略所有的转义字符,可输出字符串中所有的倒斜杠。

print(r'That is Carol\'s cat')
  • 1

用三重引号的多行字符串

print中三重引号之间的所有引号,制表符或换行符,都被认为是字符串的一部分,\n除外,在三重引号中,回车换行也会体现在输出内容中。转义字符仍然有效。

注释

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

onvert/252731a671c1fb70aad5355a2c5eeff0.png)

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/943768
推荐阅读
相关标签
  

闽ICP备14008679号