前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

py二

原创
作者头像
黑兔
发布2023-02-22 10:47:50
6710
发布2023-02-22 10:47:50
举报
文章被收录于专栏:羊了个羊
代码语言:python
代码运行次数:0
复制
### 数据类型
x = 10
#类型判断
print(type(x))
#转为整数
print(int(x))
#转为浮点数
print(float(x))
#转为二进制
print(bin(x))
#转为八进制
print(oct(x))
#转为十六进制
print(hex(x))
#转为字符串
st = str(x)
print(st, type(st))

a = '0b1010'
b = int(a, base = 2)#参数a, base进制类型
print(b, type(b))

代码语言:txt
复制
<class 'int'>
代码语言:txt
复制
10
代码语言:txt
复制
10.0
代码语言:txt
复制
0b1010
代码语言:txt
复制
0o12
代码语言:txt
复制
0xa
代码语言:txt
复制
10 <class 'str'>
代码语言:txt
复制
10 <class 'int'>
代码语言:python
代码运行次数:0
复制
# 浮点数
## 整数要比浮点数的运算精度要高 pow(x,n) x是底数,n是幂。 x^n
print(pow(1010,25))#可以精确到前面30几位
print(pow(1010.0,25))#只能精确到前面20几位

## 存在不确定尾数
#受限于计算机浮点数使用宽度,计算的二进制数并不是0.1和0.2,二是计算机内部接近0.1和0.2的二进制数。求的的数反映到十进制就会产生一个不确定的尾数。
a = 0.1 + 0.2 #a = 0.30000000000000004
if a == 0.3:
    print("yes")
else:
    print("no")

print(a)
#未解决这个问题,使用round()函数保留几位小数
print(round(a,2)) #保留两位小数 0.30
if round(a,2) == 0.3:
    print("yes")
代码语言:txt
复制
1282431995017233613592752029298389976325673030025010000000000000000000000000
代码语言:txt
复制
1.2824319950172337e+75
代码语言:txt
复制
no
代码语言:txt
复制
0.30000000000000004
代码语言:txt
复制
0.3
代码语言:txt
复制
yes
代码语言:python
代码运行次数:0
复制
#复数
a = 3 + 4j
print("real获取实部", a.real)
print("imag获取虚部", a.imag)
代码语言:txt
复制
real获取实部 3.0
代码语言:txt
复制
imag获取虚部 4.0
  • 两数之和 x+y
  • 两数之差 x-y
  • 两数之积 x*y
  • 两数之商,结果为浮点数 x/y
  • 商后取整 x//y
  • 商后取余 x%y
  • x的y次幂 x**y
  • 绝对值 abs(x)
  • divmod(x, y) => (x//y, x%y)

高级运算符

按位与(&):都是1,取1,否则为0

按位或(|):存在1,取1,均不为1,即为0

按位取反(~):每个位上都取反,1变为0,0变为1

按位异或(^):存在两个二进制,当相应位置上的数字不相同,才取1,若相同,即为0。

代码语言:python
代码运行次数:0
复制
print(4/2)
print(4/3)
print(4//3)
print(2**2)

# 二元数组
divmod(10, 3) #(商后取整,商后取余)
pow(2, 3, 2) #2的3次方是8,再除以2,取余为0

# 按位运算符
print(bin(0b1010 & 0b0110))
print(bin(0b1010 | 0b0110))
#print(bin(0b1010 ~ 0b0110))
print(bin(0b1010 ^ 0b0110))
代码语言:txt
复制
2.0
代码语言:txt
复制
1.3333333333333333
代码语言:txt
复制
1
代码语言:txt
复制
4
代码语言:txt
复制
0b10
代码语言:txt
复制
0b1110
代码语言:txt
复制
0b1100
代码语言:python
代码运行次数:0
复制
# 类型判断
# type(字符串) -> 返回类型
# isinstance(字符串,类型) -> 返回 True 或 False
print(isinstance("广州", str))
print(isinstance("广州", int))
print("广州".encode()) #编码为字节串类型

print("\x43") # => C
print(r"\x43") #字符串前加r或者R标识原字符串,常用在文件路劲、URL和正则表达式
代码语言:txt
复制
True
代码语言:txt
复制
False
代码语言:txt
复制
b'\xe5\xb9\xbf\xe5\xb7\x9e'
代码语言:txt
复制
C
代码语言:txt
复制
\x43

字符串处理

代码语言:python
代码运行次数:0
复制
# 字符串索引、字符串切片 [N:M:step], N是切片终止索引号(开区间不包含),M切片长度,step切片步长
s = "世界那么大,我想去看看"
print(s[0])
print(s[0:4])
print(s[0:4:3])

print(s[-1])
print(s[-4:-2])

# 字符串运算
a = "one"
b = "one TWO"
c = a * 3 #字符串复制3次
print(c)
print(a in b)
print(len(a))

# 字符串
print(ord("钱")) #返回单字符对应的UniUnicode编码
print(chr(38065)) #返回Unicode对应的单字符

# 字符串处理方法
print(b.upper())
print(b.lower())
print(b.split(sep=None)) #返回默认以空格分割的sub子字符串
print(b.split(sep="n")) #返回以n分割的sub子字符串
print(c.count("o"))
print("replace:", b.replace("TWO", "two"))

print(b.center(15, "*")) #center(width, fillchar), 目标字符居中,width字符最终的长度,fillchar字符填充
print(b.center(10, "*"))

print("##berave####".strip("e#"))
ls = ["objc", "swift", "flutter"]
print("**".join(ls)) #每个元数后面加**

# format 使用
print("{1}那么大,{0}想去看看".format("我", "世界"))
s = "python"
print("{:*^10}是最牛逼的".format(s))
print("{:*<10}是最牛逼的".format(s))
print("{:*>10}是最牛逼的".format(s))

i = 126832173980
print("{:*^5,}是最牛逼的".format(i)) #引导好,填充,对齐,长度,千位分隔符

a = 3.1415
print("{:*^10.3}是最牛逼的".format(a)) #.精度保留的是有效数字 3.14
print("{:*^10.3f}是最牛逼的".format(a)) #.f精度保留的是几位小数 3.142

print("{0:b},{0:c},{0:d},{0:o},{0:x}".format(10)) # 1010,\n,10,12,a
代码语言:txt
复制
代码语言:txt
复制
世界那么
代码语言:txt
复制
世么
代码语言:txt
复制
代码语言:txt
复制
想去
代码语言:txt
复制
oneoneone
代码语言:txt
复制
True
代码语言:txt
复制
3
代码语言:txt
复制
38065
代码语言:txt
复制
代码语言:txt
复制
ONE TWO
代码语言:txt
复制
one two
代码语言:txt
复制
['one', 'TWO']
代码语言:txt
复制
['o', 'e TWO']
代码语言:txt
复制
3
代码语言:txt
复制
replace: one two
代码语言:txt
复制
****one TWO****
代码语言:txt
复制
*one TWO**
代码语言:txt
复制
berav
代码语言:txt
复制
objc**swift**flutter
代码语言:txt
复制
世界那么大,我想去看看
代码语言:txt
复制
**python**是最牛逼的
代码语言:txt
复制
python****是最牛逼的
代码语言:txt
复制
****python是最牛逼的
代码语言:txt
复制
126,832,173,980是最牛逼的
代码语言:txt
复制
***3.14***是最牛逼的
代码语言:txt
复制
**3.142***是最牛逼的
代码语言:txt
复制
1010,
代码语言:txt
复制
,10,12,a

format 的具体规则解析

代码语言:python
代码运行次数:0
复制
# try...except...
s = input("请输入数字1")
while 1:
    try:
        print("请输入数字try")
        s = int(s)
        print("结果",s)
        break
    except ValueError:
        print("请输入数字2")
        s = input("请输入数字3")
代码语言:txt
复制
请输入数字1请输入数字try
代码语言:txt
复制
结果 44
代码语言:txt
复制
请输入数字4
代码语言:python
代码运行次数:0
复制
# try...except...else... (else只有在try代码块没引发异常情况下执行)

a = input("请输入数字")
while 1:
    try:
        a = int(a)
    except ValueError:
        print("error")
        a = input("请输入数字")
    else:
        print(a)
        break
代码语言:txt
复制
请输入数字请输入数字56
代码语言:python
代码运行次数:0
复制
# try...except...finally... 无论try代码块是否发生异常,finally代码块总会执行
#自定义函数
def caculate(a, b):
    try:
        print(a/b)
    except ZeroDivisionError:
        print("除数不能为0")
    finally:
        print("done")

z = eval(input("请输入一个数"))
caculate(5,z)
代码语言:txt
复制
请输入一个数0.5555555555555556
代码语言:txt
复制
done
代码语言:python
代码运行次数:0
复制
def caculate(a, b):
    try:
        print(a/b)
    except ZeroDivisionError:
        print("除数不能为0")
    except TypeError:
        print("类型错误,请输入数字")
    else:
        print("未出现异常")
    finally:
        print("done")

# z = eval(input("请输入一个数"))
# caculate(5,z)
caculate(5,"c")
代码语言:txt
复制
类型错误,请输入数字
代码语言:txt
复制
done

第四课 组合

代码语言:python
代码运行次数:0
复制
# 创建列表
ls = ["123", 123, [1,2,3,'stud']]
print(ls)
print(ls[2][3][-1]) # d
type(ls)

x = [1,2,3,4,5,6,1,2,3,1,2,3,4]
print(x.count(4)) # 4出现几次
print(x.index(2)) # 首次出现2的索引值,2必须存在与数组,否则报错

# 数组后面添加元数
x.append(6) #操作,无返回值,不能打印
print(x)

# 插入
x.insert(1,'9')
print(x)

# 数组后面添加多个元数
x.extend(['10','12'])
print(x)

# 删除元数,找到第一个元数删除
x.remove(1)
print(x)

# popp(x) 找到表中第x位删除,默认 -1 位
x.pop(-2)
print(x)

# del x[d]移除表中的第d位元数
del x[2]
print(x)

# 元数反转
x.reverse()
print(x)

# 清除所有元数
x.clear()
print(x)


x = [1,2,3,4,5,6,1,2,3,1,2,3,4]

# sort 排序,reverse=False 升序
x.sort(reverse=True)
print(x)

cc = x.copy()
print(cc)
代码语言:txt
复制
['123', 123, [1, 2, 3, 'stud']]
代码语言:txt
复制
d
代码语言:txt
复制
2
代码语言:txt
复制
1
代码语言:txt
复制
[1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6]
代码语言:txt
复制
[1, '9', 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6]
代码语言:txt
复制
[1, '9', 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6, '10', '12']
代码语言:txt
复制
['9', 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6, '10', '12']
代码语言:txt
复制
['9', 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6, '12']
代码语言:txt
复制
['9', 2, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 6, '12']
代码语言:txt
复制
['12', 6, 4, 3, 2, 1, 3, 2, 1, 6, 5, 4, 2, '9']
代码语言:txt
复制
[]
代码语言:txt
复制
[6, 5, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1]
代码语言:txt
复制
[6, 5, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1]
代码语言:python
代码运行次数:0
复制
# 列表运算符
#增加元数,返回新列表
x = [1, 2]
print("+前列表地址:", id(x))
x = x + [4]
print(x) #[1, 2, 4]
print("+后列表地址:", id(x))

# +=原地操作
x += [5]
print(x)
print("+=后列表地址:{}\n".format(id(x)))

s = [1, 2]
#列表重复,返回新列表
print("*前列表地址:", id(s))
s = s*2
print(s)
print("*后列表地址:", id(s))

# *=原地操作
s *= 2
print(s)
print("*=后列表地址:{}\n".format(id(s)))
代码语言:txt
复制
+前列表地址: 140293932989088
代码语言:txt
复制
[1, 2, 4]
代码语言:txt
复制
+后列表地址: 140293934414656
代码语言:txt
复制
[1, 2, 4, 5]
代码语言:txt
复制
+=后列表地址:140293934414656
代码语言:txt
复制
*前列表地址: 140293932989088
代码语言:txt
复制
[1, 2, 1, 2]
代码语言:txt
复制
*后列表地址: 140293934414576
代码语言:txt
复制
[1, 2, 1, 2, 1, 2, 1, 2]
代码语言:txt
复制
*=后列表地址:140293934414576
代码语言:python
代码运行次数:0
复制
# 元组
x = ['a', '牛', 'b', '1',[2023, 'study']]
y = tuple(x)
print(y)
print(y[1])
print(y[4][1][1:3])
z = ('1', '3', 456)
print(z)
代码语言:txt
复制
('a', '牛', 'b', '1', [2023, 'study'])
代码语言:txt
复制
代码语言:txt
复制
t
代码语言:txt
复制
('1', '3', 456)
代码语言:python
代码运行次数:0
复制

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 高级运算符
    • 字符串处理
      • format 的具体规则解析
      • 第四课 组合
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档