Python基础入门语法1
PY的交换值的方法
x.y = y.x
PY既具有动态脚本的特性,又有面向对象的特性
PY的缺点:
- 编译型的语言(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()
最新文章
- MVC - 18.缓存
- Excel 二级下拉菜单
- MySQL DELETE 表别名问题
- 初探接口测试框架--python系列7
- PHP 时间函数 date 参数详解
- Java一些常见的出错异常处理
- 【转载】setjmp和longjmp函数使用详解
- 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正
- Object-c学习之路三(@class与#import的区别)
- Java并发之CyclicBarrier工具类
- Fum uc M-R ko P&#39;s R
- lr_java user协议脚本开发
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小
- kali linux dns劫持
- JAVA8 ARRAY、LIST操作 汇【5】)- JAVA8 LAMBDA LIST统计(求和、最大、最小、平均)
- 对 /sbin/nologin 的理解
- drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法二
- android studio 模拟器中文乱码
- 机器学习中的ground truth
- Linux基础综合练习
热门文章
- 博客下方有一个2D动画
- 无需QQ成为好友,直接启动QQ客户端聊天
- Nginx的相关介绍
- 虚拟机下的Linux连接校园网上网问题
- 利用Xshell5从本机上向Linux(虚拟机中)上传文件
- Axure licensee key 8~9-转
- JEECG右上角用户信息完整显示
- WPscan扫描工具安装使用
- docker删除mysql镜像失败Error response from daemon: conflict: unable to delete 8809d5286227 (must be forced) - image is being used by stopped container 1a2a427273b3
- Travis CI Build Continuous Integration