python3基础01(常见语法基础汇总)
#!/usr/bin/env python
# -*- coding:utf-8 -*- # 换行\n 续行\ s[:i] + s[i:] 等于 s
#转义 \e 空 \000 八进制 \oyy 十六进制 \xyy
# 颜色控制 \033 格式:\033[显示方式;前景色;背景色;m正文 使用终端默认颜色:\033[0m
#unicode字符 用u或U表示 如u'test',原始字符 用r或R 如r'test\n\r',转义字符直接显示,如换行 回车 ,表示字节 用b,如 b'test' 多行用\连接 # Numbers 数字型 不可变 整型 int (二进制:0b或0B 八进制:0o或0O 十六进制:0x或0X)、
# 浮点型 float(尾数e解码或尾数E解码 1个符号位 52位尾数+11位解码) 高精度浮点数用Decimal()
# 复数型 complex(ae+bj) ae表示实数 通过复数变量.real获得 bj表示虚数 通过复数变量.image获得
# String 字符串型 '' "" 不可变
# 将序列转成对应的类型:tuple(s) list(s) set(s) frozenset(str) dict(d)
# 将整数转成字符:chr(x) unichr(x) 将字符转成整数:ord(str) 将对象转成字符串 str(x) repr(x)
# bytes 字节型 bytes() 或 b'' 负责处理二进制,跟编码有关系 网络传输 图片 文件等
# List 列表型 [] 将序列转成列表:list(seq) 可变 有序可重复 查找和插入慢,占用内存小
# Tuple 元组型 () 将序列转成元组:tuple(seq) 指向不可变 有序
# Sets 集合型 set() 无序不重复 可变
# Dictionaries 字典型 {} 无序 键值对 键不重复 可变 dict.fromkeys(seq[, val]) 有序字典:collections.OrderedDict 查找和插入快,占用内存大
# bool 布尔型 通过bool()判断 True False 为False:None、0、0.0、-0.0、空集合、空字符串、空列表、空元组、空字典 为True:-1 非零、非空
# None 空类型
# 布尔型进行算术运算会被转换为整形
# 在混合运算中,简单类型的操作数会被转换为与他运算的复杂类型操作数的类型 # or 左操作数布尔值为True,则返回左操作数,否则返回右操作数或其计算结果
# and 左操作数布尔值为True,则返回右操作数,否则返回左操作数或其计算结果
# 运算符优先级通过()来限制,,多个括号,最内层括号部分先执行,一般自左向右顺序结合 # ascii 占1个字节8位 pyton默认编码 unicode 占2个字节 16位 utf-8 英文占1个字节 8位 中文占3个字节 24位
# 无法显示为ascii的字节用 \x##表示 中文经UTF-8编码占3个字节 英文占1个字节
# 字符串类型 String 在内存中读写字符串 用StringIO 在内存中读写字节用 BytesIO
# 在网络上传输 或磁盘中存放字符,需要将字符转换成字节 即 String->bytes 英文:编码操作 encode('ascii') 中文 encode('utf-8')
# 从网络上传输 或磁盘中读取字符,需要将字节转换成字符 即 bytes->String 英文:解码操作 decode('ascii') 中文 decode('utf-8',errors='ignore') # 计算字符长度 len('test')
# 计算字节长度 len(b'test')
# 作用域的范围按如下方式搜索执行 L(本地) –> E(闭包) –> G(全局) –>B(内建)
# 把变量从内存变成可存储或进行网络传输,则被认为是进行了序列化处理,序列化后,可存到磁盘 或通过网络传输到别的机器
# 从变量内容从序列化的对象重新读到内存 成为反序列化 # 将已安装的库导出到文件
# pip freeze >pythonlib.txt # 从已有的库导入
# pip install -r pythonlib.txt # 搭建python虚拟环境
# pip install virtualenv
#
# where virtualenv
#
# mkdir 虚拟环境目录
# virtualenv –p python.exe路径 –-no-site-packages 虚拟环境路径
#
# 进入Scripts,执行activate 启用虚拟环境 ,退出虚拟环境 deactivate #列表可以包含列表 元组 集合 字典
#listb=[lista,tuplea,seta,dicta] #元组可以包含列表 元组 集合 字典
#tupleb=(lista,tuplea,seta,dicta) #集合可以包含列表 元组 集合 字典
#setb=(lista,tuplea,seta,dicta) #print(lista,tuplea,seta,dicta) #字典中的值可以包含列表 元组 集合 字典
#dictb={1:lista,2:tuplea,3:seta,4:66,5:'dd',6:dicta} #dictc={'lista':1,'tuplea':2,'seta':3,'dicta':4} # 字典通过deepcopy()复制生成新的字典对象,对新字典对象改动,不影响原字典对象 #元组、集合、字典->列表
#la=list(dicta)
# 对列表进行 + * sorted() 操作会生成新列表 #列表、集合、字典->元组
#la=tuple(dicta) #列表、元组、字典->集合
#la=set(dicta)
# 集合1-=集合2,从集合1中删除与集合2中相同的元素
# set集合与frozenset集合,可以进行比较操作 判断子集 严格 < 非严格:<= 判断超集 严格:> 非严格>=
# 并& 交集操作 intersection(),联合|:并集操作 union()
# 差补-:补集操作 difference() 结果的元素符合左边的集合,对称差分^:交集取反操作 symmetric_difference()
# 差补更新-= 并集更新&= 联合更新|= 对称差分更新^= 为对应的集合更新操作
# 相同类型的集合操作,还是相同类型,不同类型的集合操作,结果为左侧集合类型
# isdisjoint() 用于判断集合1与集合2是否存在相同元素 # 遍历多个序列时,可将序列打包到zip()中
# sotred()会生成新的序列
# 身份运算符 is is not 用于比较2个对象是否相等,id() 相等则为相同对象,== 用于比较2个对象的值是否相等
# 成员运算符 in not in 判断元素是否存在某个序列中 #类中定义了 __call__()方法后,可通过 对象() 或者 类()() 访问该call方法 #方法前加@staticmethod表示为静态方法 @classmethod表示为类方法 ,建议用类.方法名访问 #@property装饰器可以把类的方法伪装成属性调用的方式 或 property()函数 #__dict__ 列出类或对象中的所有成员的字典 dir() 返回一个模块里定义的所有模块,变量和函数的列表 #用__slots__限制实例的变量 __slots__ = ("name", "age") 这样类只能有 name age实例变量 #函数内部调用 locals(),返回的是所有能在该函数里访问的命名,是个字典 #如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字,是个字典 #反射的应用 func = getattr(commons,inp) 通过方式调用commons模块中与inp同名的函数 #动态导入模块
# obj = __import__("包." + 模块1, fromlist=True)
# obj = __import__('包.模块1',fromlist = ('模块1',))
# 根据modules字符串导入同名的模块 到执行该python脚本中 #断言可以通过 python -O 关闭 #调试分析代码的方式 print assert loggin pdb 4种 # 设置tab为4个空格 对于不是一目了然的代码,需要结尾添加注释 一行较长的代码或文本,可通过()包含起来
# print 通过在sep中设置,使多个值之间插入字符串 通过在end中设置,使多个后面的值追加字符串 一次打印输出多个用,号分隔 print(a,b,c)
# 通过help() 进入来查看关键字信息界面 # 正数的符号位为0 负数的符号位为1
# 原码 整数的原码由其二进制转换而来
# 反码 正数的反码与原码相同 负数的原码为其原码的数值部分按位取反、符号位保持不变
# 补码 正数的补码与原码相同 负数的原码为其原码的数值部分按位取反、再加1、符号位保持不变 #json与python转换
# json.dumps demjson.encode() 将Python对象编码成JSON字符串
# json.loads demjson.decode() 将已编码的JSON字符串解码为Python对象 #json与python对应关系
# objcet dict
# array list
# string unicode
# number(int) int,long
# number(real) float
# true True
# false False
# null None # 位置参数:传递值时,按顺序接收,调用函数时,指定的参数名与位置参数一致
# 默认参数:默认参数在位置参数后面,当有多个默认参数时,更常用的默认参数尽量放在默认参数区域的前面
#
# 动态参数:可变参数(*args) 命名参数(**kwargs)、关键字命名参数,需放在所有位置参数、默认参数后面
#
# 可变参数(*args):定义函数时:入参数被封装为一个元组,如果参数为列表,则将整个列表当作参数传入 调用函数时:被当作元组或列表
#
# 命名参数(**kwargs):定义函数时:入参数被封装为一个字典 调用函数时:被当作字典
#
# 关键字参数:可以将默认参数、位置参数 与 关键字参数分割开来,通过加 * 号控制,如:(位置参数,默认参数,*,关键字参数),调用关键字参数,必须指定参数名,或者传入关键字参数的缺省值 # 类:具有相似特征和行为对象的集合,即同一类型的事物,对某类事物的抽象描述,描述多个对象的共同特征
# 对象:现实中该类事物的一个个体,用于描述现实中的个体
# 对象是根据类创建的,一个类可对应多个对象,一个对象只能对应一个类
# 属性:为描述事物的特征,方法:为描述类的行为特征
# 属性包括:类属性(在类的内部 方法的外部),通过类和对象访问,只能通过类修改,通过类属性或在类方法中修改
# 对象属性:描述对象特征的数据属性,在类定义方法代码里添加或在调用实例代码里添加,对象属性只能被对象调用,不能被类调用,对象属性为类对象所共有
# 同名的对象属性会覆盖类属性,对象方法可以被对象调用 类要调用对象方法,需要传入类或对象做为参数,类方法、静态方法,可以被类、对象访问
python3基础01(常见语法基础汇总)的更多相关文章
- javaScript基础-01 javascript语法结构
一.基础 字符集 JavaScript程序是用Unicode字符集编写的. .区分大小写 .空格.换行符和格式控制符 .Unicode转义序列 .标准化 二.类型.值和变量 JavaScript的数据 ...
- Shell 编程基础之基本语法结构汇总
一.条件语句 简单条件 if [ condition ]; then # 当 condition 成立时,执行内容: fi # 将 if 反过来写,fi 结束 if 之意 复杂条件 if [ cond ...
- 黑马程序员——【Java基础】——Java语法基础
---------- android培训.java培训.期待与您交流! ---------- 一.关键字 1.定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有的字母都为小写. ...
- 2019-10-10:渗透测试,基础学习,mysql语法基础,笔记
mysql常用命令mysql -u用户名 -p,登录方式也称为,二进制方式exit 退出mysql 查看mysql版本select version(); 查看mysql所有数据库show dateba ...
- shell脚本语法基础汇总
shell脚本语法基础汇总 将命令的输出读入一个变量中,可以将它放入双引号中,即可保留空格和换行符(\n) out=$(cat text.txt) 输出1 2 3 out="$(cat te ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
随机推荐
- Object—C 块在函数中作为参数时的分析
暂时对这个有了一些粗浅的理解,记下来一边后面学习时学习,改正. 先举个例子: A类: .h文件: @interface A : NSObject - (void)Paly1:(void (^)(do ...
- PS2018学习笔记(25-29节)
25-亮度与色阶看懂直方图-part1 # 本节知识点: 灰度模式 明暗对比 明度/对比度命令 直方图 色阶命令 调整图层 # 本节段落表: 了解亮度对比 灰度模式观察明暗 明度/对比度命令 认知对比 ...
- 洛谷P3802 小魔女帕琪
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...
- c++手工扩栈
-Wl,--stack=64000000 c++手工扩展
- 浅析localstorage、sessionstorage
原文链接:http://caibaojian.com/localstorage-sessionstorage.html 简介 html5 中的 web Storage 包括了两种存储方式:sessio ...
- Lotus Notes 学习笔记
这是一个学习关于如何使用Lotus Notes的Agent功能来实现自动化办公的学习笔记. 一. 介绍 Lotus Notes/Domino 是一个世界领先的企业级通讯.协同工作及Internet/I ...
- Windows日志为什么要把它转成Syslog呢?
有的朋友会问,好好的Windows日志为什么要把它转成Syslog呢?呵呵,当Windows服务器比较少的时候,我们是不需要这样做的.但试想如果你管理着成千上百台的Windows机器,你会一台一台的登 ...
- QuotaExceededError: The quota has been exceeded. localStorage缓存超出限制
今天在项目中遇到了一个问题,localStorage存储超出限制.报错信息如标题.这个是因为最近做了一波优化,把导航栏和一些用户信息本地化存储,都放在localStorage里,也不是每个用户会出现这 ...
- thinkphp5引入百度编辑器
在ThinkPHP的模板(html文件)中引入Ueditor 下载ueditor解压至public/static目录 在需要的页面引入js文件 <script type="text/ ...
- Luogu P4551 最长异或路径 01trie
做一个树上前缀异或和,然后把前缀和插到$01trie$里,然后再对每一个前缀异或和整个查一遍,在树上从高位向低位贪心,按位优先选择不同的,就能贪出最大的答案. #include<cstdio&g ...