python学习笔记2

这篇博客详细介绍了Python的基础知识,包括数字运算中的进制转换、浮点数的不确定性,字符串操作如打印格式、切片、替换,布尔类型的any()和all()函数,以及变量类型的判断和转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数字运算

1、进制转换

a = bin(16)    #二进制
b = oct(16)    #八进制
c = hex(16)    #十六进制
print(a, b, c)
#输出
0b10000 0o20 0x10

注意a,b,c是字符串,所以不是相等的。

a == b == c   #False

其他进制转为十进制:

d = int(a, 2)
e = int(b, 8)
f = int(c, 16)
print(d, e, f)
#输出
16 16 16

2、浮点数的不确定性

(0.1 + 0.2) ==0.3    #False

这是由于:

a = 0.1 + 0.2
a
#输出
0.30000000000000004

浮点数并不精确!

可以采用四舍五入的方法来逼近:

b = round(a,1)   #数字表示保留多少位小数
print(b)
#输出
0.3

3、一些基本运算符

在python中/表示的是除法,与C不同的是他计算的是真正的除法,且结果为浮点数,如:

3/2   #结果为1.5
4/2   #结果为浮点数2.0

而整数商为//,如:

3//2   #结果为1

乘方运算:

2**3   #结果为8

4、一些运算函数

abs(3+4j)   #模运算或绝对值  此结果为5
pow(2,3)  	#等价于2**3  结果为8
pow(2,3,3)  #等价于2**3 % 3  结果为2
a = 1.618
print(round(a))		#默认四舍五入无小数,结果为2
print(round(a,2))	#表示四舍五入保留两位小数,结果为1.62
print(round(a,5))	#位数不足不需要补齐,结果为1.618
divmod(13,5)   #输出(13//5, 13%5),速度比分开计算快

5、借助库函数(以后专门写)

二、字符串

1、打印格式

#字符串既可以用'',也可以用""
print("I'm 20 years old")   #当字符本身有'时,外部应用""
print('I like "Python"')  #当字符本身有"时,外部用''
print('I\'m 20 years old')  #也可以用转义字符\
print("I like \"Python\"")  #或是这样
#转义字符\也可以用来换行
s = 'Py\
thon'       #就表示s是'Python’

2、切片

#切片格式:变量名[开始位置:结束位置:间隔],前闭后开
s = 'Python'
print(s[0:3:2])		#Pt
print(s[0:6])		#Python
print(s[:6])	  	#Python 
print(s[0:])		#Python
print(s[:])			#Python
print(s[-6:])		#Python
s = '123456789'
print(s[-1:-10:-1])     #输出都为987654321
print(s[:-10:-1])
print(s[::-1])

3、成员运算

# 子集in全集
names = 'ZhangSan, ZhaoSi, WangWu'
'ZhangSan' in names		#True
'ZhaoLiu' in names		#False
#for ··· in ···遍历
s = "Python"
for c in s:
    print(c)
#输出
P
y
t
h
o
n

4、字符和Unicode码

print(ord("中"))	#转为Unicode,结果为20013
print(chr(2020))	#转为字符,结果为ߤ

5、字符串分合

# .split(分割字符)  操作分割字符串
languages = "Python C C++ Java PHP R matlab"
languages_list = languages.split(" ")
print(languages)
print(languages_list)
#结果
Python C C++ Java PHP R matlab
['Python', 'C', 'C++', 'Java', 'PHP', 'R', 'matlab']
# 字符串聚合join(可迭代类型,如字符串、列表)
s = "12345"
s_join = ",".join(s)   #结果为1,2,3,4,5
num = ["1","2","3","4","5"]
num_join = "".join(num)	#12345

6、删除头尾指定字符

s = "     wtf??      "
print(s)
print(s.strip(" "))			#删除头尾指定字符
print(s.lstrip(" "))		#删除左边指定字符
print(s.rstrip(" "))		#删除右边指定字符
#输出
     wtf??      
wtf??
wtf??      
     wtf??

7、字符串替换

s = "Python is coming"
s1 = s.replace("Python","Py")	#Py is coming
s = "Python"
s1 = s.upper()	#PYTHON	全部大写
s2 = s.lower()	#python	全部小写
s3 = s.title()	#Pyhon	首字母大写

8、统计

s = "Python is an intresting language"
print("an : ",s.count("an"))		#an : 2

三、布尔类型

1、any()和all()

print(any([0,False,None,1]))	#有一个为真则整体为真,True
print(all([0,False,None,1]))	#全部为真整体为真,False

2、作为掩码

import numpy as np
x = np.array([[1,3,2,5,7]])
print(x > 3)
x[x > 3]		#取出为True位置的数
#输出
[[False False False  True  True]]
array([5, 7])

四、变量类型

1、type()

直接输出变量类型。

age = 20
name = "ZhangSan"
print(type(age))
print(type(name))
#输出
<class 'int'>
<class 'str'>

2、isinstance(变量,预判类型) 承认继承

print(isinstance(age,int))		#True
print(isinstance(age,object))	#True
print(isinstance(name,object))	#True

3、isdigit()、isalpha()和isalnum()

#isalnum()表示是否只由字母和数字组成
age = "20"
name = "ZhangSan"
name1 = "Zhang3"
print(age.isdigit())	#True
print(age.isalpha())	#False
print(age.isalnum())	#True
print(name.isdigit())	#False
print(name.isalpha())	#True
print(name.isalnum())	#True
print(name1.isdigit())	#False
print(name1.isalpha())	#False
print(name1.isalnum())	#True

五、类型转换

1、数字转字符串str()

age = 20
print("I'm "+str(age)+" years old")	#I'm 20 years old

2、字符串转数字int()、float()、eval()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值