Python3 注释、运算符、数字、字符串
阅读原文时间:2023年07月09日阅读:2

文章目录

Python中的注释有单行注释和多行注释:

Python中单行注释以 # 开头,例如:

# 这是一个注释
print("Hello, World!")

多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:

单引号(’’’)

#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")

双引号(""")

#!/usr/bin/python3
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("Hello, World!")

输出函数的注释:

def a():
    '''这是文档字符串'''
    pass
print(a.__doc__)

# 输出结果为:这是文档字符串

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

以下实例在变量赋值时 Number 对象将被创建:

var1 = 1
var2 = 10

可以使用del语句删除一些数字对象的引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

可以通过使用del语句删除单个或多个对象的引用,例如:

del var
del var_a, var_b

Python 支持三种不同的数值类型:

  • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

Python 数字类型转换

数据类型的转换,只需要将数据类型作为函数名即可。

  • int(x) 将x转换为一个整数。
  • float(x) 将x转换到一个浮点数。
  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

数学函数

随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围

实例

>>> random.randint(1000,9999)
8449

random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。

实例

>>> lst = random.sample('abcd1234',4)
>>> strs = ''.join(lst)
>>> strs
'a432'

三角函数

Python包括以下三角函数:

数学常量

关于round,:

当个位为奇数,小数部分>=0.5入,其余为舍

当个位为偶数,小数部分>0.5入,其余为舍。

print(round(10.4)) #10
print(round(10.5)) #10
print(round(10.6)) #11
print()
print(round(11.4)) #11
print(round(11.5)) #12
print(round(11.6)) #12

Python3中已经不能使用cmp()函数了,被如下五个函数替代:

import operator       #首先要导入运算符模块

operator.gt(1,2)      #意思是greater than(大于)
operator.ge(1,2)      #意思是greater and equal(大于等于)
operator.eq(1,2)      #意思是equal(等于)
operator.le(1,2)      #意思是less and equal(小于等于)
operator.lt(1,2)      #意思是less than(小于)

decimal 模块提供了一个 Decimal 数据类型用于浮点数计算,拥有更高的精度。

>>> import decimal
>>> decimal.getcontext().prec=4              # 指定精度(4位小数)
>>> decimal.Decimal(1) / decimal.Decimal(7)
Decimal('0.1429')
>>> with decimal.localcontext() as ctx:      # 小数上下文管理器
...     ctx.prec=2
...     decimal.Decimal('1.00') / decimal.Decimal('3.00')
...
Decimal('0.33')

Python中一切都是对象,对象比较可以用 == 或者 is。

== 比较的是两个对象的内容是否相等,默认会调用对象的 eq() 方法。

is 比较的是两个对象的 id 是否相等,也就是是否是同一个对象,是否指向同一个内存地址。

数字与字符,列表之间的转换

字符转为数字

var='1234'
num=int(var) # 如果是小数可用 float

字符转为列表

num_list=list(var)

列表转为数组

import numpy as np

num_array=np.array(num_list)

# 也可以是
num_array=[int(i) for i in num_list]

可以使用引号( ’ 或 " )来创建字符串。

Python 访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号来截取字符串,如下实例:

var1 = 'Hello World!'
var2 = "Runoob"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

结果为:

var1[0]:  H
var2[1:5]:  unoo

Python 字符串更新

截取字符串的一部分并与其他字段拼接,如下实例:

var1 = 'Hello World!'

print ("已更新字符串 : ", var1[:6] + 'Runoob!')

结果:

已更新字符串 :  Hello Runoob!

Python转义字符

在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

Python字符串运算符

实例变量a值为字符串 “Hello”,b变量值为 “Python”:

a = "Hello"
b = "Python"

print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])

if( "H" in a) :
    print("H 在变量 a 中")
else :
    print("H 不在变量 a 中")

if( "M" not in a) :
    print("M 不在变量 a 中")
else :
    print("M 在变量 a 中")

print (r'\n')
print (R'\n')

结果为:

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

Python字符串格式化

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

结果:

我叫 小明 今年 10 岁!

python字符串格式化符号:

格式化操作符辅助指令:

Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下:

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

结果为:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [
 ]。

Python 的字符串内建函数

Python 的字符串常用内建函数如下:

字符串截取操作

# 0、a,b为参数。从字符串指针为a的地方开始截取字符,到b的前一个位置(因为不包含b)
var1 = "hello world";
print(var1[a: b]);

# 1、如果a,b均不填写,默认取全部字符。即,下面这两个打印结果是一样的
print(var1[: ]);  # hello world
print(var1);      # hello world

# 2、如果a填写,b不填写(或填写的值大于指针下标),默认从a开始截取,至字符串最后一个位置
print(var1[3: ]); # lo world

# 3、如果a不填写, b填写,默认从0位置开始截取,至b的前一个位置
print(var1[: 8]); # hello wo

# 4、如果a为负数,默认从尾部某一位置,开始向后截取
print(var1[-2: ]); # ld

# 5、如果a>=b, 默认输出为空。
print(var1[3: 3]);
print(var1[3: 2]);

#6、[::2] 表示的是从头到尾,步长为2。第一个冒号两侧的数字是指截取字符串的范围,第二个冒号后面是指截取的步长。
>>> L=['a','b','c','d','e','f','g']
>>> print(L[::2])
['a', 'c', 'e', 'g']

使用格式化符号进行进制转换

>>> num=10
>>> print('十六进制:%#x' % num)    #使用%x将十进制num格式化为十六进制
十六进制:0xa
>>> print('二进制:', bin(num))      #使用bin将十进制num格式化为二进制
二进制: 0b1010
>>> print('八进制:%#o' % num)      #使用%o将十进制num格式化为八进制
八进制:0o12

上面使用格式化符号进行进制转换中,多加入了一个#号,目的是在转换结果头部显示当前进制类型,如不需要,可将#号去除,如下

>>> print('八进制:%o' % num)
八进制:12
>>> print('十六进制:%x' % num)
十六进制:a

字符串的分割还有partition()

partition(sep)  --> (head,sep,tail)

从左向右遇到分隔符把字符串分割成两部分,返回头、分割符、尾三部分的三元组。如果没有找到分割符,就返回头、尾两个空元素的三元组。

s1 = "I'm a good sutdent."
#以'good'为分割符,返回头、分割符、尾三部分。
s2 = s1.partition('good')
#没有找到分割符'abc',返回头、尾两个空元素的元组。
s3 = s1.partition('abc')

print(s1)
print(s2)
print(s3)

结果为:

I'm a good sutdent.
("I'm a ", 'good', ' sutdent.')
("I'm a good sutdent.", '', '')

字符串与列表,元组的互相转换。

字符串转换为列表

var='你好Pyhton'
list=[]
list=[i for i in var]

列表转化为字符串

var1=' ,'.join(list)

字符串转化为元组,使用 tuple() 函数

tup=tuple(var)