Python3中常用函数


本文参考Python菜鸟教程

Python基础语法

#单行注释以`#`,多行注释以`"""`开头和`"""`结尾。

#注释1
"""
多行注释
"""

#缩进与if,无需分号
if True:
    print('true')
    
#多行语句,变量通过‘\’来实现多行语句
a = 1
b = 2
c = 3
total = a + \
		b + \
		c + \
print(total)  #输出6

#字符串
str = '012345'
print(str) 			#输出012345
print(str[0:-1]) 	#输出01234 取0到4左闭右开 -1表示最右边
print(str[0:-2]) 	#输出0123
print(str[1]) 		#输出 1
print(str[2:])		#输出 2345
print(str[0:4:2])   #输出 02 范围[0,4),即0 1 2 3 步长为2
print(str * 2)		#输出012345012345
print(str + '你好')  #输出012345你好 字符串拼接

data =  input("输入数据") #读取数据
print(data)				 #输出

#同一行显示多条语句
a = 1; b,c=2,'hello'
print(a,b,c)			#输出1 2 hello

Python基本数据类型:

  • 不可变数据:Number(数字),String(字符串),Tuple(元组);
  • 可变数据:List(列表),Dictionary(字典),Set(集合);
a, b, c, d, e, f = 1,5.1,True,1+2j, "Hello", [1,2,3]
print(isinstance(a, int), isinstance(b, float), 
isinstance(c, bool), isinstance(d, complex),
 isinstance(e, str), isinstance(f, list))  			#全部输出True

print(type(a), type(b), type(c), type(d), type(e), type(f))
#输出<class 'int'> <class 'float'> <class 'bool'> <class 'complex'> <class 'str'> <class 'list'>

print(int(b)) #输出5 强制转换float为int类型

isinstance 和 type 的区别:

type()可以检测出是否是子类,isinstance()无法检测出是否是子类。

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        print(f"{self.name} says something")
    
a=Animal("Dog")
print(type(a)==Animal)		#True
print(type(a)==object)		#False
print(isinstance(a,Animal))	#True
print(isinstance(a,object)) #True
bool布尔值

对于右方的值bool值判断均为FalseNone,False,0,'',(),[],{}

其他的均为True

a,b,c,d,e,f,g = None,False,0,'',(),[],{}

print(bool(a),bool(b),bool(c),bool(d),bool(e),bool(f),bool(g)) #输出False False False False False False False

# 布尔类型的整数
print(int(True))   # 1
print(int(False))  # 0
LIst列表
list = [1,2.1,'abc',True]
list2 = [2,4]
print(list)					#输出[1, 2.1, 'abc', True]
print(list[2])				#输出abc
print(list[1:3])			#输出[2.1, 'abc']
print(list + list2)			#输出[1, 2.1, 'abc', True, 2, 4]

list[1:3] = [3, 'def']
print(list)					#输出[1, 3, 'def', True]
Tuple元组
tuple1 = (1,2.1,'abc',True)
tuple2 = (2,)	#一个元素后面要添加逗号
print(tuple1)					#输出(1, 2.1, 'abc', True)
print(tuple1[2])				#输出abc
print(tuple1[1:3])			#输出(2.1, 'abc')
print(tuple1 + tuple2)			#输出(1, 2.1, 'abc', True, 2,)

注:元组中元素不可变,列表中元素可变

Set集合
set1 = {'a', 'b', 'c', 'd', 'e','a'}
print(set1)   # 输出 {'a', 'b', 'c', 'd', 'e'} 自动去重

if 'a' in set1:
    print('a 在集合中')   # 走这条 输出 a 在集合中
else:
    print('a 不在集合中')

set2 = set('abcde')

print(set1 == set2)  # 输出 True

set2 = set('abcdh')

print(set1 - set2)  # 求set1和set2的差集 输出 {'e'}
print(set1 | set2)  # 求set1和set2的并集 输出 {'a', 'b', 'c', 'd', 'e', 'h'}
print(set1 & set2)  # 求set1和set2的交集 输出 {'a', 'b', 'c', 'd'}
print(set1 ^ set2)  # 求set1和set2中不重复的元素 输出 {'e', 'h'}
Dictionary 字典
dict = {}
dict['key1'] = 'value1'
dict['key2'] = 'value2'
dict['key3'] = 'value3'

dict2 = {
    'd_key1': 'd_value1',
    0: 'd_value2',
    }
print(dict['key1']) # 输出 value1
print(dict2[0]) # 输出 d_value2
print(dict.keys()) # 输出 dict_keys(['key1', 'key2', 'key3']) 输出所有key值
print(dict.values()) # 输出 dict_values(['value1', 'value2', 'value3']) 输出所有value值

Python运算符

算数运算符 描述 例子
+ 相加 5+6输出11,’a’+’b’输出‘ab’
- 相减只允许数之间集合中表示差集 5-6输出-1
* 相乘 5*6输出30 ‘a’*2输出’aa’
/ 相除 1/2输出0.5
// 整除,向下取整,去掉小数部分 1//2输出0
% 取模 1%2输出1
** 取幂 5**2输出25
赋值运算符 描述 例子
= 直接赋值 c=1
+= 加法赋值 c+=1等效 c = c+1
-= 减法赋值 c-=1等效 c = c-1
*= 乘法赋值 c*=1等效 c = c*1
/= 除法赋值 c/=1等效 c = c/1
//= 整除赋值 c//=1等效 c = c//1
%= 取模赋值 c%=1等效 c = c%1
**= 取幂赋值 c**=1等效 c = c**1
:= 海象运算符,用于表达式中同时赋值和返回赋值的值(Pthon3.8新增 下方为例子
n = 10;
if n > 5:
    print(n)

#使用海象运算符
if (n := 10) >5:	#可以直接在表达式中赋值,省去外部赋值
    print(n)
位运算符 例子
& 与,print(0x5 & 0xf) 输出5 ,即0000 0101 & 0000 1111
| 或,print(0x5 | 0xf) 输出15 ,即0000 0101 | 0000 1111
^ 异或,print(0x5 | 0xf) 输出10 ,即0000 0101 ^ 0000 1111,结果0000 1010
~ 取反(补码的形式),print(0x5)输出-6,即~0000 0101,输出1111 1010,原码为1000 0110
<< 左移,print(0x5<<1)输出10,即0000 0101 << 1,结果0000 1010
>> 右移,print(0xff>>1)输出127,即1111 1111>>1,结果0111 1111
逻辑运算符
and x and y,如果x为False,返回x,True则返回y,如 print(10 and 20)输出 20
or x or y,如果x为False,返回y,True则返回x,如 print(10 and 20)输出 10
not not x,如果x为True,返回False,为False返回Ture。如print(not 20)输出 False
成员运算符
in 判断x是否在y的序列中,若在返回True
not in 判断x是否在y的序列中,若不在返回True
list = [0 ,1, 2,3,4]
print(0 in list)		#输出True
print(5 not in list)	#输出True
身份运算符
is x is y判断是否x和y的id相同,相同返回Ture(id通过id()函数查看)
is not x is y判断是否x和y的id相同,相同返回False

Python常用函数

数学函数

from math import *
import random
#数学函数
abs(-10) #取绝对值 输出10
ceil(4.1) #向上取整 输出5
exp(1) #e的1次方 输出2.718281828459045
fabs(-10.2) #浮点数取绝对值 输出10.2
floor(4.9) #向下取整 输出4
log(100,10) #以10为底100的对数 输出2.0
log2(4) #以2为底4的对数 输出2.0
max(1,2,3,4,5) #取最大值 输出5
min(1,2,3,4,5) #取最小值 输出1
modf(4.5) #返回整数部分和小数部分 输出(0.5, 4.0)
pow(2,3) #2的3次方 输出8.0
round(4.6) #四舍五入 输出5
sqrt(4) #开平方 输出2.0

#随机数函数
random.choice([1,2,3,4,5]) #从序列中随机选取一个元素 输出3
random.randrange(1,10,2) #从指定范围内,按指定基数递增的集合中获取一个随机数 输出1
random.random() #随机生成下一个实数,它在[0,1)范围内 输出0.940667311678628
random.seed(10) #改变随机数生成器的种子seed 输出None
print(random.random()) #0.5714025946899135  与采用新种子生成上面的random.random()不同
random.shuffle([1,2,3,4,5]) #将一个列表中的元素打乱 输出[2, 5, 3, 1, 4]
random.uniform(1,10) #随机生成下一个实数,它在[x,y]范围内 输出7.750021655

文章作者: LsWorld
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LsWorld !
评论
  目录