PY的交换值的方法

x.y = y.x

PY既具有动态脚本的特性,又有面向对象的特性

PY的缺点:

  1. 编译型的语言(C++,C):通过编译器进行编译成机器码,越接近底层,开发效率低

解释型代码:PY和JS 通过解释器进行解释,相对于编译型的慢

基本的数据类型

Number:数字 整数int(没有short int long的区分) 浮点数float(py中没有单精度和双精度区分)

Bool型:false和true型

2/2=1.0在py中得到的是浮点型的

2//2 是整除的形式 比如1//2就得0

0b是py中的二进制识别符号,bin()是转换到二进制的方法

0o 是py中的八进制识别符号

0x 是16进制

转十进制的方法是int(0b11)

转十六    hex()

转八进制 oct()

bool(0)   为false 数字类里仅有这个为false

单引号和双引号都可以表示字符串

为啥里面用两种的引号,就是保证能够识别中间的文字符号

转义字符\r回车

要把一个字符转化成文本 即加一个\

一个起点一个终点得到一个字符串 用冒号来做

原始字符串的用法

列表的基本操作和字符串的是一致的

元组的定义tuple (n1,n2,n3)

元组的访问  (n1,n2,n3)[n] 返回的是元素

(n1,n2,n3)[n,m]返回的元组

元组与列表的相同点

1)元素可以时不同的数据类型

2)访问方式相同

3)都可以进行加法和乘法

>>> (1,'-1',True)[0] 1

>>> (1,'-1',True)[0:2] (1, '-1')

>>> (1,'-1',True)+(8,'hi') (1, '-1', True, 8, 'hi')

单一元组是元组内部的元素的本身的类型

str,list,tuple都可视为序列

str list tuple都是序列(python中组的概念)

通用:

截取单个字符(序列中每个元素都会被分配一个序号)

切片 [n:m]或者[n:m:b]从第n+1个到m个,中间隔b-1个字符

验证序列中是否有某个元素,a (not) in 序列 => a是否不在列表中,返回True/False

len(序列) 判断序列中的元素个数

max(序列) 判断序列中的最大值

min(序列) 判断序列中的最小值

ord( ) 查看 ascll码

集合的无序性{1,2,3}(0)是错误的,因为是无序的

集合:{1,2,3} 无序性 不重复性 len({1,2,3}) 得到集合的长度 判断元素是否存在: 1 in {1,2,3} 集合与集合之间的运算: 差集:{1,2,3,4} - {1,2} 得到{3,4} 交集:{1,2,3,4} & {1,2} 得到{1,2} 合集:{1,2} | {2,3,4} 得到{1,2,3,4} 定义一个空的集合: type({}) 得到<class 'dict'> type(set()) 得到<class 'set'>

字典 dict

一个字典可以由很多key和value,集合类型(set),不是序列

用花括号定义 {key1:value1, key2:value2...}

字典也是无序的

通过key来访问

字典通过key来访问value => { }[key]

字典的key不能重复,重复不会报错,但是会覆盖之前重复的key对应的value

字典的key必须是不可变的类型:int、str、元组tuple(列表list、集合set不可以)

字典的value可以是任意类型,没有特别限制:str、int、float、list、set、dict等

空的字典{ }

Py的切片

其含义就是从操作对象中取出一部分的概念

小结PY的数据类型

变量:A =[1,2,3,4]   变量名称的可读性要强

变量的命名规则

1.变量不能以数字开头。

2.变量名可以是数字,字母,下划线组成的字符

3.不可以是python中的保留关键字

3.python区分大小写,A,a它们不是一同个的变量

列表的可变和元组的不可变

列表值可变  但在内存地址中的位置不变

元组值不可变

a=[1,2,3]

c=(1,2,3)

a.append(4)=[1,2,3,4]此函数用于在末尾追加元素

c.append(4)追加元素    报错

能用tuple就用元组 保证了代码不会被修改   最好不用列表list

a=(1,2,3,[1,['a','b','c'],4])

a[3]=>[1,2,4]

a[3][2]=>4

a[3][1][1]=>'b'   可以实现多维嵌套表达

如果对元组中某个元素进行赋值

eg:

a=(1,2,3,[1,2,4])

a[2]='3'     报错

a[3][2]='4'  可行(改变元组中的列表是可行的)

Python赋值运算符:(意义先做运算后赋值,重点是“赋值”)

=       c = a + b 将 a + b 的运算结果赋值为 c

+=     c += a 等效于 c = c + a

-=      c -= a 等效于 c = c - a

*=      c *= a 等效于 c = c * a

/=      c /= a 等效于 c = c / a

%=     c %= a 等效于 c = c % a

**=   c **= a 等效于 c = c ** a

//=   c //= a 等效于 c = c // a

bool类型是Number类型的一种

b=1

b+=b>=1

print(b)

2

print(b>=1)

True

b+=True

b=b+True

int(True)

1

print(b)

4

运算符有优先级

比较单个字符时'a','b',比较的是字符对应的Ascll码,可以通过ord()函数进行查看

比较字符串‘abc’、‘abd’,比较字符串中的每一个字母单独作比较,不可以通过ord()函数查看

字符串、列表、元组都可以进行比较,也是每个元素单独一次进行比较,相同则比较下一位,不同则较大的元素所在的数据大(1,2,3)<(1,3,2)True

逻辑运算符

And是且

Or是或

Not是非

成员运算符(in、not in)

是判断一个元素是否在一组元素里

>>> a=1

>>> a in [1,2,3,4,5]

True

>>> b=6

>>> b not in [1,2,3,4,5]

True

字典(dict)的成员运算符,只比较key的值而不是value的值。

>>> b='a'

>>> b in {'s':1}

False

>>> b=1

>>> b in {'s':1}

False

>>> b='s'

>>> b in {'s':1}

True

is与==区别:

关系运算符比较的是两个变量值是否想的。而身份运算符比较的是两个变量的身份是否相等。</pre>

如何判断变量的值、身份与类型

1、对象的三个特征:值value(关系运算符)、身份id(is/not is)、类型(type)/isinstance(a,str)可以判断基类和子类的类型,其中第二个参数可以是单独的类型,也可以是元祖形式的所有类型序列

a='123'

isinstance(a,(int,str,list,float))

True

isinstance(a,str)

True

2、python一切都是对象

位运算符:&(按位与),|(按位或),^(按位异或),~(按位取反),<<(左移动),>>(右移动)

位运算:就是把其他进制转换成二进制进行按位与、或、非等的运算

例如:2 & b 转换成二进制的为10 & 11,1与1对比和0与1对比得出的结果为10转换成十进制结果为2。&运算符的定义两个二进制对比都为1结果为1,两个结果中有一个为0或者两个都为0则为0

>>> a = 2

>>> b = 3

>>> a & b

2

|运算符的定义:二进制对比中只要有一个1结果就为1

>>> a = 2

>>> b = 3

>>> a | b

3

单行注释:#(ctrl+/)

多行注释:'''   '''(alt+shift+A)

If else 语句的写法

Py中接受命令行的输入的函数是input()

Python基础入门语法1的更多相关文章

  1. python基础入门语法和变量类型(二)

    列表 列表是 Python 中使用最频繁的数据类型,它可以完成大多数集合类的数据结构实现,可以包含不同类型的元素,包括数字.字符串,甚至列表(也就是所谓的嵌套). 和字符串一样,可以通过索引值或者切片 ...

  2. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  3. Python基础入门教程,Python学习路线图

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  4. Python怎么样入门?Python基础入门教程

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  5. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  6. 六. Python基础(6)--语法

    六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...

  7. 五. Python基础(5)--语法

    五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...

  8. 四. Python基础(4)--语法

    四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次     sum += i     i ...

  9. 三. Python基础(3)--语法

    三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...

随机推荐

  1. MySql 怎么存取 Emoji

    01.前言 Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了.对于我们开发者来说,如何将 Emoji ...

  2. 解决安装VMware Player出错,提示安装程序无法继续,microsoft runtime dll安装程序未能完成安装

    方案一: 以兼容模式运行和管理员方式运行安装程序,右键点击安装文件选择属性,在弹出的面板中修改兼容性如下 方案二: 下载最近版的VMWare player安装包哈哈 方案三: 1.双击VMware P ...

  3. bugku 头等舱

    先查看题目发现页面是这一个 然后打开后台F12 发现后台什么也没有 然后使用抓包burpsuit 然后发现答案就在其中 (首先右键转到repeater然后点击go)

  4. linux中history加入显示时间命令代码

    source 空格 配置文件,则配置立即生效,这里的soruce也可以用英文状态下的点即“.”代替 历史命令history -w将现在的命令记录写入到history里面 如果在history里面加上时 ...

  5. Oracle expdp 多表导出处理

    一个项目中需要在oracle数据库某个用户下导出1000多个表,导入到测试库做数据分析测试.很少遇到需要导出这么多表的情况,通常都是按schema导出,或者整库导出.考虑到expdp中include参 ...

  6. Go_Json序列化

    1. json介绍 2. json格式说明 3. json序列化 3.1 结构体序列化 package main import ( "fmt" "encoding/jso ...

  7. zookeeper集群搭建记录

    本文仅记录zookeeper集群搭建的过程,留待日后查看.使用. 一.硬件机器: 192.168.183.195 master-node 192.168.183.194 data-node1 192. ...

  8. 阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍

    请求描述: `阻塞/非阻塞` 和 `同步/异步` 不是一个概念.举几个简单的例子. 当进程调用一个进行IO操作的API时(比如read函数),在数据没有到达前,read 会挂起,进程会卡住.在数据读取 ...

  9. eclipse的版本代号

    mars为4.5版本号 代号 代号名 发布日期Eclipse 3.1 IO 木卫一,伊奥 2005Eclipse 3.2 Callisto 木卫四,卡里斯托 2006Eclipse 3.3 Europ ...

  10. deepin-wine-qq无法加载图片解决方案

    最近在qq水群讨论学术的时候发现了一个奇怪的问题:无法加载图片. 具体点是,如果图片没有被其他设备接收,并且在缓存中,图片是可以加载的,反之不可. 这东西很烦人啊,于是我就去查项目issue:http ...