文章目录
注释
Python中的注释有单行注释和多行注释:
Python中单行注释以 # 开头,例如:
# 这是一个注释
print("Hello, World!")
多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:
单引号(’’’)
#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")
双引号(""")
#!/usr/bin/python3
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("Hello, World!")
输出函数的注释:
def a():
'''这是文档字符串'''
pass
print(a.__doc__)
# 输出结果为:这是文档字符串
运算符
数字(Number)
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'
')
print (R'
')
结果为:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
Python字符串格式化
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
结果:
我叫 小明 今年 10 岁!
python字符串格式化符号:
格式化操作符辅助指令:
Python三引号
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下:
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [
]。
"""
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)