首页 > 编程语言 >Python编程快速上手 让繁琐工作自动化 第一部分

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

时间:2024-04-01 20:02:56浏览次数:34  
标签:返回 spam Python 编程 print 列表 繁琐 字符串 方法

   第一章  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))

输出为:

0 Wins, 0 Losses, 0 Ties

第三章 函数

None 表示没有值

print("Hello", end='')
print("world")

将默认的end换行替换掉

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

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

局部和全局作用域:

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

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

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

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

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

第四章 列表

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

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

利用切片获得子列表:

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}")

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

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

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

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

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

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

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

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

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))

输出:

2469185556336
2469185556400

而列表不变:

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

输出:

2275408057024
2275408057024

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

传递引用

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

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

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

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

import  copy

x = 'alice'
y = copy.copy(x)
print(id(x))
print(id(y))

如果要复制的列表中包含了列表,那么就使用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))

第五章 字典和结构化数据

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

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')

用三重引号的多行字符串

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

注释

单行用#号,多行用三重引号

字符串的索引和切片

注意,字符串切片并没有修改原来的字符串。可以从一个变量中获取切片,记录在另一个变量中。

字符串中的in和not in 操作符

和列表一样,in和not in操作符也可以用于字符串。

将字符串放入其他字符串

巧用“字符串插值”

name = 'AI'
age = 4000
print("Hello, my name is %s. I am %s years old" % (name, age))

字符串方法upper(), lower(),isupper(),islower()

upper()和lower()字符串方法返回一个新字符串,其中原字符串的所有字母都相应地转换为大写或小写,字符串中的非字母字符保持不变。

注意这些方法没有改变字符串本身,而是返回一个新字符串,如果你希望改变原来的字符串,那就必须在改字符串上调用upper()或lower()方法,然后将这个字符串赋给保存原来字符串的变量

spam = spam.upper()

如果字符串中含有字符,并且所有字母都是大写或小写,那么isupper()和islower()方法都会相应地返回布尔值True;否则,该方法返回False。

isX()字符串方法

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

isalnum() 如果字符串只包含字母和数字,并且非空。返回True

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

isspace() 如果字符串只包含空格、制表符和换行符,并且非空,返回True

istittle() 如果字符串仅包含以大写字母开头、后面都是小写字母的单词、数字或空格,返回True

字符串方法startswith()和endswith()

如果startswith()和endwith()方法所调用的字符串以改方法传入的字符串开始或结束,那么返回True,否则返回False

字符串方法join()和split()

join()方法可在字符串上被调用,参数是一个字符串列表,返回一个字符串。

注意,调用join()方法的字符串被插入列表参数中每个字符串的中间。

要记住,join()方法是针对一个字符串调用的,并且需要传入一个列表值。

split()方法做的事情正好相反,它针对一个字符串调用,返回一个字符串列表,默认情况下,split()方法按照各种空白字符分隔。也可以向split()方法传入一个分隔字符串,指定它按照不同的字符串分隔。

使用partition()方法分隔字符串

partition()字符串方法可以将字符串分成分隔符字符串前后的文本。

print('Hello,world'.partition('w'))

输出:

('Hello,', 'w', 'orld')   元组

如果传递给partition()方法的分隔符字符串在partition()调用的字符串中多次出现,则该方法仅在第一次出现处分隔字符串。

如果找不到分隔字符串,则返回的元组中的第一个字符串将是整个字符串,而其他两个字符串为空

可以利用多重赋值技巧将3个返回的字符串赋给3个变量

before, sep, after = 'Hello,world'.partition('w')
print(before)
print(sep)
print(after)

用rjust()、ljust()、center()方法对齐文本

rjust()、ljust()字符串方法返回调用它们的字符串的填充版本,通过插入空格来对齐文本。这两个方法的第一个参数是一个整数,代表长度,用于对齐字符串。

'Hello'.rjust(10)表示我们希望右对齐,在'Hello'放在一个长度为10的字符串中

rjust()、ljust()的第二个可选参数将指定一个填充字符,用于取代空格字符

print('Hello'.rjust(10, '*'))

输出:

*****Hello

center()方法与rjust()、ljust()字符串方法类似,但是它让文本居中

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

strip()字符串方法将返回一个新的字符串,它的开头和末尾都没有空白字符串

spam.strip('ampS')告诉在变量中存储的字符串两端,删除出现a、m、p和大写S

strip('ampS')和strip('maSp')效果一样

使用ord()和chr()函数的字符的数值

计算机将信息存储为字节(二进制数字串),这意味着我们要能够将文本转换为数字,因此,每个文本都有一个对应的数字值。

我们可以用ord()函数获取一个单字符字符串的代码点

用chr()获取一个整数代码点的单字符字符串

ord('A')

chr(65)

print(ord('砂'))
print(chr(30722))

用pyperclip模块复制粘贴字符串

pyperclip模块有copy()和paste()函数,可以向计算机的剪贴板发送文本或从它接收文本。

这个模版不是Python自带的,需要从第三方安装

标签:返回,spam,Python,编程,print,列表,繁琐,字符串,方法
From: https://blog.csdn.net/a_bear_in_Spring/article/details/137187557

相关文章

  • QA测试开发工程师面试题满分问答3: python的深拷贝和浅拷贝问题
    在Python中,深拷贝(deepcopy)和浅拷贝(shallowcopy)是用于创建对象副本的两种不同方式。浅拷贝是创建一个新的对象,该对象与原始对象的内容相同(包括内部嵌套对象的引用),但是它们指向相同的内存地址。换句话说,浅拷贝创建了一个对象的表面副本,而不是递归复制所有嵌套对象。当原始对......
  • 小球投盒(美团2024届秋招笔试第三场编程真题)
    核心思想用一个队列存储还没有球的盒子一旦有2操作那就剩下1个盒子没有球代码importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){TreeSet<Integer>q=newTreeSet<>();Scannerscanner=newScanner(System.in)......
  • 11种排序算法(Python实现)
    10种排序算法(Python实现)冒泡排序1、两重循环,每次都将一个点移动到最终位置defBubbleSort(lst):n=len(lst)ifn<=1:returnlstforiinrange(0,n):forjinrange(0,n-i-1):#每轮确定一个点的最终位置iflst[j]>lst[j+1]:......
  • python基础(四)----列表、字典练习题
    好友管理系统请设计一个好友管理系统,每个功能都对应一个序号,用户可根据提示“请输入您的选项”选择序号执行相应的操作,包括:(1)添加好友:用户根据提示“请输入要添加的好友:”输入要添加好友的姓名,添加后会提示“好友添加成功”。(2)删除好友:用户根据提示“请输入删除好友姓名:”输入要删......
  • Python表格处理模块xlrd在Anaconda中的安装
      本文介绍在Anaconda环境下,安装Python读取.xls格式表格文件的库xlrd的方法。  xlrd是一个用于读取Excel文件的Python库,下面是xlrd库的一些主要特点和功能:读取Excel文件:xlrd可以打开和读取Excel文件,并提取其中的数据和元数据。支持多种数据类型:xlrd可以处理包括数字、日......
  • Python列表、字典、元组练习题
    一、将下列姓名长度小于2字符的删除,将写法不同但名字一样的名字合并,并按首字母大写形式输出。names=[‘Bob’,‘JOHN’,‘alice’,‘bob’,‘ALICE’,‘J’,‘Bob’]答案:names=['Bob','JOHN','alice','bob','ALICE','J','Bob']ans={name.title()for......
  • 这篇教你如何使用python自动化图形界面任务
    这篇教你如何使用python自动化图形界面任务PyAutoGUI是什么?PyAutoGUI是一个用于自动化任务和图形用户界面操作的Python库。它可以模拟鼠标移动、点击、键盘输入等操作,帮助用户实现自动化任务。优点:跨平台性:PyAutoGUI可以在Windows、macOS和Linux等多个平台......
  • 在python中如何发挥Loguru库是简洁灵活.
    在python中如何发挥Loguru库是简洁灵活.什么是loguru库?Loguru是一个用于日志记录的Python库,它提供简单且功能丰富的日志记录功能,易于使用。安装Loguru库# 你可以使用 pip 来安装 Loguru 库:pip install loguruLoguru库的基本用法以下是Loguru库的基本用......
  • 什么库是检测未使用和简化代码在python中?
    什么库是检测未使用和简化代码在python?什么是python的Vulture呢?功能:Vulture是一个用于静态分析Python代码的库,专门用于检测未使用的代码。它可以帮助你识别项目中未被引用的函数、类、变量或导入模块,并帮助简化代码结构.使用方法:首先,安装Vulture库:pip install......
  • (自学#Python)Day08-字典的定义及基本操作
    (自学Python)Day08-字典的定义及基本操作一、字典的定义及创建"""字典dict定义:由一系列键值对组成的可变散列容器。操作:创建添加定位删除遍历"""#1.创建#列表善于存储单一......