博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 语法注意
阅读量:2062 次
发布时间:2019-04-29

本文共 3505 字,大约阅读时间需要 11 分钟。

p数字类型

int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j

同一行显示多条语句

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

类型转换

int(x [,base])将x转换为一个整数float(x)将x转换到一个浮点数complex(real [,imag])创建一个复数str(x)将对象 x 转换为字符串repr(x)将对象 x 转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列 s 转换为一个元组list(s)将序列 s 转换为一个列表set(s)转换为可变集合dict(d)创建一个字典。d 必须是一个 (key, value)元组序列。frozenset(s)转换为不可变集合chr(x)将一个整数转换为一个字符ord(x)将一个字符转换为它的整数值hex(x)将一个整数转换为一个十六进制字符串oct(x)将一个整数转换为一个八进制字符串

不常用的操作符

//  取整除 - 向下取接近商的整数a = 60            # 60 = 0011 1100 b = 13            # 13 = 0000 1101 c = 0 c = a & b        # 12 = 0000 1100print ("1 - c 的值为:", c) c = a | b        # 61 = 0011 1101 print ("2 - c 的值为:", c) c = a ^ b        # 49 = 0011 0001print ("3 - c 的值为:", c) c = ~a           # -61 = 1100 0011print ("4 - c 的值为:", c) c = a << 2       # 240 = 1111 0000print ("5 - c 的值为:", c) c = a >> 2       # 15 = 0000 1111print ("6 - c 的值为:", c)in  如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。not in  如果在指定的序列中没有找到值返回 True,否则返回 False。   x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。is  is 是判断两个标识符是不是引用自一个对象   x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 Falseis not  is not 是判断两个标识符是不是引用自不同对象   x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。id(x)用于取x的内存地址

转义

\a  响铃  >>> print("\a")执行后电脑有响声。\b  退格(Backspace)   >>> print("Hello \b World!")Hello World!\000    空   >>> print("\000")>>> \n  换行  >>> print("\n")>>>\v  纵向制表符   >>> print("Hello \v World!")Hello        World!>>>\t  横向制表符   >>> print("Hello \t World!")Hello      World!>>>\r  回车  >>> print("Hello\rWorld!")World!\f  换页  >>> print("Hello \f World!")Hello        World!>>> \yyy    八进制数,y 代表 0~7 的字符,例如:\012 代表换行。 >>> print("\110\145\154\154\157\40\127\157\162\154\144\41")Hello World!\xyy    十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行  >>> print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")Hello World!\other  其它的字符以普通格式输出

字符串

python3中所有的字符串默认为Unicode字符串

yield

列表推导式

[3*x for x in vec][[x, x**2] for x in vec][3*x for x in vec if x > 3][[row[i] for row in matrix] for i in range(4)]del a[2:4]

集合运算

a = set('abracadabra')>>> b = set('alacazam')>>> a                                  # a 中唯一的字母{'a', 'r', 'b', 'c', 'd'}>>> a - b                              # 在 a 中的字母,但不在 b 中{'r', 'd', 'b'}>>> a | b                              # 在 a 或 b 中的字母{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}>>> a & b                              # 在 a 和 b 中都有的字母{'a', 'c'}>>> a ^ b                              # 在 a 或 b 中的字母,但不同时在 a 和 b 中{'r', 'd', 'b', 'm', 'z', 'l'}

字典

>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)]){'sape': 4139, 'jack': 4098, 'guido': 4127}>>> {x: x**2 for x in (2, 4, 6)}{2: 4, 4: 16, 6: 36}>>> dict(sape=4139, guido=4127, jack=4098){'sape': 4139, 'jack': 4098, 'guido': 4127}

遍历技巧

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}>>> for k, v in knights.items():...     print(k, v)...gallahad the purerobin the brave>>> for i, v in enumerate(['tic', 'tac', 'toe']):...     print(i, v)...0 tic1 tac2 toe>>> questions = ['name', 'quest', 'favorite color']>>> answers = ['lancelot', 'the holy grail', 'blue']>>> for q, a in zip(questions, answers):...     print('What is your {0}?  It is {1}.'.format(q, a))...What is your name?  It is lancelot.What is your quest?  It is the holy grail.What is your favorite color?  It is blue.

name属性

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

open的模式

image.png

转载地址:http://xeqlf.baihongyu.com/

你可能感兴趣的文章
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>
面试题 —— 关于main方法的十个面试题
查看>>
集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
查看>>
使用Maven构建的简单的单模块SSM项目
查看>>
Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
查看>>
Redis学习笔记(四)—— redis的常用命令和五大数据类型的简单使用
查看>>
没错,华为开始招募了!
查看>>
深入理解 Cilium 的 eBPF 收发包路径
查看>>
黑苹果的历史
查看>>
Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储
查看>>
Ceph万字总结|如何改善存储性能以及提升存储稳定性
查看>>
啥?Grafana 还能为日志添加告警?
查看>>
尚硅谷新版k8s视频教程
查看>>
CentOS: 永远有多远就离它多远
查看>>
重新夺回对 /etc/resolv.conf 的控制权
查看>>
突破 DockerHub 限制,全镜像加速服务
查看>>
使用 Sealos + Longhorn 部署 KubeSphere v3.0.0
查看>>