Pytho学习2024.6.12知识补充

代码编码:

1 、国际惯例,文件编码和 Python 编码格式全部为 utf-8 ,例如:在 Python 代码的开头,要统一加上
# -- coding: utf-8 -- 。 2、 Python 代码
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

空格

运算符两侧和函数参数之间建议使用空格进行分割
括号内两侧不要有空格
不要在逗号、分号、冒号前面有空格,但应该在它们后面加(除了在行尾)
= 用于指示关键字参数或默认参数值时,不要在其两侧使用空格
避免使用不必要的空格,不要为了对齐增加空格

注释

总体原则:错误的注释不如没有注释,当一段代码发生变化时,第一件事就是修改注释
注释使用中文或者英文,最好是完整的句子,首字母大写,句后就有结束符,结束符后跟两个空
格,开始下一句。如果是短语,可以省略结束符
单行注释:在代码上面使用 # 加文字注释
多行注释:使用三双引号或者三单引号,引号中是注释的内容

保留字

保留字即关键字,不能作为任何标识符的名称
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字

命名规范

函数命名尽量短小并且使用小写字母,如果想提高可读性可以用下划线分割
类名采用单词首字母大写的驼峰式命名方法,例如 GetMoney History
使用单下划线开头的模块变量或者函数是受保护的,在使用 import * from 语句从模块中导入时这
些变量或者函数不能被导入
不要使用字母 l O I 作为单字符变量名,易混淆

缩进

每级缩进使用 4 个空格,在冒号换行后一定要跟一个缩进,不然会出现语法错误
连续行应该对齐折叠元素,无论是垂直的隐式行连接,还是使用悬挂缩进(第一行没有参数并且使
用更多的缩进来区别它本身和连续行

变量

name = value
name表示变量名, value表示值,也就是要储存的数数据
注意: 变量名是标识符的一种,名字不能随便起,报遵守python标识符命令规则,避免和python内置函数以
及保留字冲突
n = 95
n = 100
n = '你好世界'
print(n)
# 变量的值一旦修改,之前的值就被覆盖了,也就是变量只能容纳一个值
# 将变量的结果赋值给变量
n = 50+30
r = 50+50-n
print(n)
print(r)

数字类型

Python 中数字类型有 4 种,分别是整型 int 、浮点型 float 、复数型 comlex 、布尔型 bool 。本
文为大家介绍整型、浮点型两种类型。

1.整型 int

Python 中,整型数用关键字 int 表示(即英文单词 integer 的简写),包括:正整数、零和负
整数。整型数全部由数字构成,不包括小数部分。 Python 中的整型 没有取值范围的限制
a = 199
b= -199
c = 1999999999999999999999999999999
d = -199999999999999999999999999999
print(a,b)
print(c,d)
print(type(a),type(b),type(c),type(d))

2.浮点型 float

Python 中,浮点型用关键字 float 表示,是由整数、小数点和小数构成的数字。

3.复数类型

复数类型表示数学中的复数。复数有一个基本单位元素 j ,叫做 虚数单位 。含有虚数单位的数称为复数。
a = 12 + 13j
b = complex(12, 13)
print(a)
print(b)
print(type(a), type(b))

4.布尔型

布尔型( bool ),使用 True False 关键字,分别表示真或假,分别对应的值为 1 0 ,也可以使用bool值做运算
a = True # 1
b = False # 0
c = True # 1
print(a)
print(b)
print(a + b + c)
print(type(a), type(b))

5.算数运算符

运算符
说明
实例
结果
+
12.45 + 15
27.45
-
4.56 - 0.26
4.3
*
5 * 3.6
18.0
/
除法(和数学中的规则一样)
7 / 2
3.5
//
整除(只保留商的整数部分)
7 // 2
3
%
取余,即返回除法的余数
7 % 2
1
**
幂运算 / 次方运算,即返回 x y 次方
2 ** 4
16,即 2⁴

6.数学运算

Python 中数学运算常用的函数基本都在 math 模块。
math 模块提供了许多对浮点数的数学运算函数。
import math
print(abs(-10)) # 返回数字的绝对值
# 10
print(math.ceil(15.3)) # 返回数字的上入整数
# 16
print(math.floor(15.3)) # 返回数字的下舍整数
# 15
print(math.exp(2)) # 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
# 7.38905609893065
print(math.fabs(-15)) # 返回数字的绝对值,结果为float类型
# 15.0
# max() # 返回给定参数的最大值,参数可以是序列
# min() # 返回给定参数的最小值
a = 1, 2, 3, 4, 5
print(max(a))
print(min(a))

字符串类型

字符串的定义

字符串是一个有序的字符集合,用来存储和表现基于文本的信息。
python 中字符串需要使用成对的单引号或双引号括起来,单引号和双引号的字符串是等效的,三引号用于字符串时,可以换行,实行块结构。

字符串格式化

字符串格式化是我们在使用 Python 中经常用到的功能。 Python 为我们提供了三种格式化字符串的方法,
分别是 % 占位符、字符串 format 方法、格式化字符串字面值 .

处理字符串中的引号的

当字符串内容中出现引号时,需要进行特殊处理,否则 Python 会解析出错,例如:
'I'm a good man!'
由于上面字符串中包含了单引号,此时 Python 会将字符串中的单引号与第一个单引号配对,这样
就会把 'I' 当成字符串,而后面的 m a great coder!' 就变成了多余的内容,从而导致语法错
误。
解决方法:

1) 对引号进行转义

在引号前面添加反斜杠 \ 就可以对引号进行转义,让 Python 把它作为普通文本对待,例如:
str1 = 'I\'m a good man!'
print(str1)

2) 使用不同的引号包围字符串

如果字符串内容中出现了单引号,那么我们可以使用双引号包围字符串,反之亦然。例如:
str1 = "I'm a great coder!" #使用双引号包围含有单引号的字符串
print(str1)

字符串的换行

Python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。要想换行书写一个比
较长的字符串,必须在行尾添加反斜杠 \ ,请看下面的例子:
s2 = 'It took me six months to write this Python tutorial. \
Please give me more support. \
I will keep it updated.'
上面 s2 字符串的比较长,所以使用了转义字符 \ 对字符串内容进行了换行,这样就可以把一个长
字符串写成多行。
同时也支持表达式的换行,例如:
num1 = 20 + 3 / 4 + \
2 * 3
print(num1)

Python原始字符串

Python 字符串中的反斜杠 \ 有着特殊的作用,就是转义字符 .
转义字符有时候会带来一些麻烦,例如我要表示一个包含 Windows 路径 D:\Program Files\Python 3.8\python.exe 这样的字符串,在 Python 程序中直接这样写肯定是不行的,不 管是普通字符串还是长字符串。因为 \ 的特殊性,我们需要对字符串中的每个 \ 都进行转义,也就 是写成 D:\\Program Files\\Python 3.8\\python.exe 这种形式才行。
这种写法需要特别谨慎,稍有疏忽就会出错。为了解决转义字符的问题, Python 支持原始字符串。在原始字符串中, \ 不会被当作转义字符,所有的内容都保持 原汁原味 的样子。
在普通字符串或者长字符串的开头加上 r 前缀,就变成了原始字符串,具体格式为:
str1 = r'原始字符串内容'
str2 = r"""原始字符串内容"""
str3 = r'D:\Program Files\Python 3.8\python.exe'
print(str3)

切片

  1. 字符串切片:

    s = "hello"  
    print(s[1:4])  # 输出 "ell"  
    print(s[::2])  # 输出 "hlo",每隔一个字符取一个

  2. 列表切片:

    lst = [1, 2, 3, 4, 5, 6]  
    print(lst[1:4])  # 输出 [2, 3, 4]  
    print(lst[::-1])  # 输出 [6, 5, 4, 3, 2, 1],反转列表

几点注意事项:

  • 切片操作不会修改原始序列,而是返回一个新的子序列。
  • 切片操作的时间复杂度是O(k),其中k是切片的长度,因为Python需要创建一个新的序列来存储切片结果。
  • 切片操作中的索引可以是负数,表示从序列的末尾开始计数。例如,-1 表示最后一个元素,-2 表示倒数第二个元素,依此类推。

例如,使用负数索引进行切片:

s = "hello"  
print(s[-1])  # 输出 "o"  
print(s[-3:])  # 输出 "llo",从倒数第三个元素开始到末尾

url = '人生苦短,我用python,不掉丢发哈'
#获取索引从4处到10(不包含10)的子串
print(url[4: 10]) # 输出 ,我用pyt
#获取索引从7处到-6的子串
print(url[7: -6]) # 输出 python
#获取索引从-8到2的子串
print(url[-8: -2])
#从索引0开始,每隔2个字符取出一个字符,直到索引10为止
print(url[0: 10: 2])

获取字符串长度或字节数

要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使
len 函数
len(string)
# string 用于指定要进行长度统计的字符串
url = '人生苦短,我用python,不掉丢发哈'
print(len(url))

str1 = "人生苦短,我用Python"
print(len(str1.encode()))
# 因为汉字加中文标点符号共 7 个,占 21 个字节,而英文字母和英文的标点符号占 6 个字节,一共
占用 27 个字节。


str1 = "人生苦短,我用Python"
print(len(str1.encode('gbk')))

分割合并字符串

split() 方法用于将字符串分割成子字符串列表。默认情况下,它会在任何空白(空格、换行符等)处分割字符串,但你也可以指定一个分隔符。

join() 方法用于将字符串列表合并成一个字符串。你需要提供一个分隔符,它将作为列表中每个元素之间的连接符。

# 原始字符串  
s = "apple,banana,orange"  
  
# 分割字符串  
fruits = s.split(',')  
print(fruits)  # 输出 ['apple', 'banana', 'orange']  
  
# 修改列表中的元素  
fruits[1] = 'kiwi'  
  
# 合并字符串  
s_new = ','.join(fruits)  
print(s_new)  # 输出 'apple,kiwi,orange'

count(),find(),index()

count() 方法用于计算子字符串在字符串中出现的次数。它返回指定值在字符串中出现的次数(非重叠)。如果未找到该值,则返回0。

s = "apple, apple pie, apple juice"  
count = s.count("apple")  
print(count)  # 输出 3

find() 方法用于查找子字符串在字符串中首次出现的位置(索引)。如果未找到该子字符串,则返回-1。

s = "apple, apple pie, apple juice"  
position = s.find("apple")  
print(position)  # 输出 0  
  
position = s.find("banana")  
print(position)  # 输出 -1,因为 "banana" 不在字符串中

index() 方法与 find() 方法类似,也是用于查找子字符串在字符串中首次出现的位置(索引)。但是,如果未找到该子字符串,index() 会抛出一个 ValueError 异常,而 find() 会返回-1。

s = "apple, apple pie, apple juice"  
position = s.index("apple")  
print(position)  # 输出 0  
  
# 这会抛出一个 ValueError 异常,因为 "banana" 不在字符串中  
position = s.index("banana")

列表

创建列表

使用 [ ] 直接创建列表
使用 list() 函数创建列表
listname = [element1 , element2 , element3 , ... , elementn]
# 其中,listname 表示变量名,element1 ~ elementn 表示列表元素。
num = [1, 2, 3, 4, 5, 6, 7]
name = ["百度", "https://www.baidu.com"]
program = ["C语言", "Python", "Java"]


emptylist = []
# emptylist 是一个空列表。


#将字符串转换成列表
list1 = list("hello")
print(list1)
#将元组转换成列表
tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
list2 = list(tuple1)
print(list2)
#将字典转换成列表
dict1 = {'a':100, 'b':42, 'c':9}
list3 = list(dict1)
print(list3)
#将区间转换成列表
range1 = range(1, 6)
list4 = list(range1)
print(list4)
#创建空列表
print(list())

访问列表元素

列表是 Python 序列的一种,我们可以使用索引( Index )访问列表中的某个元素(得到的是一个
元素的值),也可以使用切片访问列表中的一组元素(得到的是一个新的子列表)。
url = list("https://www.baidu.com/")
#使用索引访问列表中的某个元素
print(url[3]) #使用正数索引
print(url[-4]) #使用负数索引
#使用切片访问列表中的一组元素
print(url[9: 18]) #使用正数切片
print(url[9: 18: 3]) #指定步长
print(url[-6: -1]) #使用负数切片
  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值