python01

python01

笔记:

pip管理包

在这里插入图片描述
这张图里列出了常用的pip指令(我居然全部都用过),稍微解释一下[==version]是什么意思,首先[]里的东西可加可不加,加了的话可以在原本的基础上做些限制或是操作什么的,比如加了==1.2.0就会指定1.2.0版本的包,> a.txt是把原本输出到控制台的东西输出到a.txt中(就是保存在里面)

python类型概述

在这里插入图片描述
上图给出了python的类型,这里简单提一下,具体的后面会有,要注意的两点是:

  1. python没有double
  2. 字节串具体见字符串与字节串区别这篇文章

运算符:

常见

//整除(地板除)3 // 4
**2 ** 3

二进制与其他进制:
a = 16
print(oct(a))  # 测试进制转化
print(bin(a))
print(hex(a))
print(format(a, '2'))
print(format(a, '16'))  # format第二个参数是凑位数的,额

结果:

0o20
0b10000
0x10
16
16

a='16'
b=int(a, 13)  # 验证int函数只能用于字符串转化为int,16是13进制下的16,打印b时是10进制的
c=int(a)
print(b)
print(c)
a=0x10#验证16进制的写法
print(a)
print(bool(a))#验证非空,非零的东西转到bool都是true

结果:

19
16
16
True

三目:
x, y = 4, 5
small = x if x < y else y
print(small)  # 4

python有这种奇怪的风格:就是把结果写在前面,就像下面这个列表推导式,保存了0-10的偶数的平方

a=[i*i  for i  in range(0,11)  if i%2==0]
其他运算符:

is
``is not`

a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False
a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False
  • is, is not 对比的是两个变量的内存地址
  • ==, !=对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(str,元组,数字),那么is,is not 和 ==!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list,dict,集合),则两者是有区别的。
    也就是说== != 比的是内容而不是地址,与C++不一样
补充:
  • 利用dir看类的函数
    b = dir(int)
    print(b)
  • 保留特定小数位:
import decimal
from decimal import Decimal
decimal.getcontext().prec = 4
print(Decimal(1.000121200)/Decimal(1))
print(Decimal(1.000121200))
c = Decimal(2) / Decimal(3)
print(c)

1.0000
1.0001211999999999324728605643031187355518341064453125
0.3333

  • isinstance(object, classinfo) 判断一个对象是否是一个已知的类型。

【例子】

print(isinstance(1, int))  # True
print(isinstance(5.2, float))  # True
print(isinstance(True, bool))  # True
print(isinstance('5.2', str))  # True

注:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()

类型转换

  • 转换为整型 int(x, base=10)
  • 转换为字符串 str(object='')
  • 转换为浮点型 float(x)

【例子】

print(int('520'))  # 520
print(int(520.52))  # 520
print(float('520.52'))  # 520.52
print(float(520))  # 520.0
print(str(10 + 10))  # 20
print(str(10.1 + 5.2))  # 15.3
print 函数:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  • 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
  • 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
  • 关键字参数end是输出结束时的字符,默认是换行符\n
  • 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
  • 关键字参数flush是立即把内容输出到流文件,不作缓存。

思考题:

  1. Python是怎么诞生的?Python之父是谁?好像是某个大佬玩出来的,Guido van Rossum
  2. Python和C++(或者C)的区别在哪?即为什么要学习Python,C++不香吗?python语法简单。因为东西多,开发快,但是速度太慢
  3. 相较于Python2,Python3做了哪些大的改进?
    刚学,不太了解
    https://blog.csdn.net/pangzhaowen/article/details/80650478?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161138955216780274169124%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161138955216780274169124&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-80650478.pc_search_result_no_baidu_js&utm_term=python3%E4%B8%8Epython2%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187
    这个讲的很详细

练习题

  1. 怎样对python中的代码进行注释?#行,’’’ ‘’’ 块注释
  2. python有哪些运算符,这些运算符的优先级是怎样的?这不好讲吧,学C++时也都是靠感觉,不确定就加括号
  3. python 中 is, is not==, != 的区别是什么?
    is那对比的是地址,而==比的是内容(这与C++不一样,C++中==比的是地址)
  4. python 中包含哪些数据类型?这些数据类型之间如何转换?
    就写一下学C++时没遇到的,集合,字典,列表,元组,没有指针,没有数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值