系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录

  • 系列文章目录
  • 前言
  • 一、python 和C\C++语言语法的区别
    • python 和C\C++语言语法的区别
    • python和c、c++语言使用场景
  • 二、python的基础语法
    • 1.python 缩进规则
    • 2.python的变量和数据结构及操作符
      • python的数据类型
        • 1、注意
        • 2、数据类型包括
        • 3、强制转换
        • 4、确定数据类型的方法
      • 变量(包括整型、浮点型、布尔型)
      • 字符串
      • 赋值操作符"="
      • 算术操作符
      • 比较操作符
      • 逻辑操作符
      • 逻辑操作符"and"、"or"、"not"
      • and操作符
      • 优先级问题
    • 3.python条件语句和循环结构
      • (1)条件语句(if/else)
        • 1、语句返回类型:语句返回的是布尔数据类型
        • 2、语法:
        • 3、注意:
        • 4、条件包括
        • 7、使用的一般框架
        • 8、条件表达式(三元操作符,但建议使用二元操作符,方法一)
      • (2)循环结构(while、for)
    • 4.python的调试工具--断言、异常
      • 背景:
      • 断言(assert)
      • try语句+except语句
  • 三、python的数据结构
    • 1.列表list[] 【数据结构的大杂缸】
      • (1)功能
      • (2)创建一个普通的列表方法一(类似于数组)
      • (3)创建一个普通的列表方法二
      • (4)创建一个普通的列表方法三
      • (5)向列表里面添加元素
        • (1)背景:
        • (2)方法一:【append函数】:
        • 方法二:【extend()函数】
        • 方法三:【insert函数】
      • (6)从列表里面删除元素
        • 方法一:【remove()函数】
        • 方法二:【del方法】
        • 方法三:【pop()函数】
      • (7)同时获取操作多个元素
      • (8)列表的一些常用操作符
        • (1)比较操作符 "<"、">"、"="、"!"的组合
        • (2)逻辑操作符"and"、"or"、"not"
        • (3)连接操作符“+”
        • (4)重复操作符“*”
        • (5)成员关系操作符“in”、“not in”
      • (9)访问列表中的元素(下标方式)
      • (10)列表的其他常用内置函数
        • (1)计算元素在列表中出现的次数count()函数
        • (2)返回要判断的元素在列表中的位置 index()函数
        • (3)把列表中的元素先后顺序翻转reverse()
        • (4)把列表中的元素按大小顺序排序sort()
    • 2.元祖tuple(戴上了枷锁的列表)
      • 功能:
      • (1)创建一个元祖
      • (2)访问一个元祖
      • (3)修改一个元祖的元素
      • (4)更新一个元祖的元素
      • (5)删除一个元祖
      • (6)元祖常用的操作符
    • 3.字符串string
      • (1)创建一个字符串
      • (2)访问操作一个字符串
      • (3)内置函数
      • (4)字符串格式化
    • 4.字典dictionary{}
      • 功能:
      • (1)创建一个字典
      • (2)访问一个字典
      • (3)修改或添加字典中键对应的值
      • (4)字典的内建函数
      • (5)常用访问字典的函数
      • (6)删除一个字典的元素
    • 5.集合set
      • 功能
      • (1)定义一个集合
      • (2)在集合里面索引访问一个元素
      • (3)集合里面不能有相同的元素
      • (4)去除列表中的重复元素方法对比
      • (5)集合的内置函数
      • (6)不可变集合frozenset()
  • 参考资料

前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对python语言语法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


提示:以下是本篇文章正文内容

一、python 和C\C++语言语法的区别

(1)python是由C语言写成的,C语言是python的底层(2)python是一个灵活的语言,你想的到的他几乎都有,使用的时候要有猜想(3)python在严格意义上说是,只有函数没有过程的
【防盗标记--盒子君hzj】(4)python是没有变量只有名字的,因为python会动态分配变量的数据类型(5)py文件在win中有工具用终端直接运行代码【linux中记得给权限】

python 和C\C++语言语法的区别

1、python没有变量的声明
2、python没有花括号等作用域提示,用缩进的方法使编程界面更简洁
3、python用缩进符代替分号符“:”语法 ,python是一个注重审美的语言
4、python冒号“:”后下一行直接缩进,if/else、for/while、函数、类后面都有冒号
5、python编写代码不能用汉语输入,用英文输入法
6、python的每种数据结构都有其内置的底层函数,这是C/C++没有的
7、python中没有switch语句 ,只有if/else语句
8、C语言定义函数都要单独定义,但是允许在一个函数里调用另外一个函数。python允许在一个函数里面定义并调用另外一个函数

python和c、c++语言使用场景

python一般用来写感知的代码,较底层的都是用c和c++写,但是c++的数据太多的数据需要查看可以用python写一个脚本可视化,c和c++数据量小可以直接看log

.
.

二、python的基础语法

1.python 缩进规则

2.python的变量和数据结构及操作符

(1)python的简单的数据类型包括整型、浮点型、布尔型和字符型等等
(2)python的复杂的数据类型包括列表、元祖、函数、类、组合等等
(3)python的每种数据结构都有其内置的底层函数,这是C/C++没有的

python的数据类型

1、注意

(1)python是有数据类型的,只不过在定义变量的时候不用声明数据类型而已
(2)数据类型是区分运算操作的,很重要,任何语言都有它的数据类型
(3)数据类型类似于调用动态内存一样了,没有范围限制了
【防盗标记--盒子君hzj】

2、数据类型包括

整型(int)、浮点型(float)、字符型(char)、字符串型(str)、布尔型(bool)(特殊的整型1代表ture、0代表false)、科学计数法、数组等等

3、强制转换

(1)例子1:a=int(b)【注意不会四舍五入,直接回删掉小数点后面的小数】
(2)例子2:a=int(b)【转换成功后自带一个小数点】
(3)例子3:a=int(b)【转换成功后自带两个引号】

4、确定数据类型的方法

(1)应用:确定输入数据的类型,以防程序输入有错误
(2)语法:方法一:  type(变量或常量)【输出是该变量或常量的变量类型】方法二:isinstance(a,str)【输入有两个参数,第一个是待检测数据类型,第二个是目标数据类型,若两个类型一致返回true,否则返回false】

变量(包括整型、浮点型、布尔型)

1、在使用变量之前先赋值【python的变量是不需要声明的,不需要声明数据类型】
2、变量名可以是包括字母、数字、下划线,,字母的大小写是区分的,但是不能以数字开头,不能用空格键隔开这样会变成两个变量
3、变量命名尽量带有意义
4、python没有字符型数据,C++的字符型在python中被认为是字符串类型的一种
【除了上面注意的点,其他和C++用法类似】
【防盗标记--盒子君hzj】

字符串

1、字符串就是引号里面的一切东西,包括单引号‘’和双引号“”,但是不能一边是单引号一边是双引号
2、如果在引号里面的字符串有引号的存在方法一:要用转义字符(\)如:“let'\s go”【但是这和win的语法有重意性:“C:\now”这是输出当前路径的意                        思】(1)原始字符串:
1、 原始字符串在最后是不能加入反斜杠转义符“\”的
2、在输入的文本左端加入一个"r"字母【防盗标记--盒子君hzj】
(2)长字字符串
1、语法;使用三个双引号"""......"""
2、例子:
str="""efeizdc/n
dhzfvisdzvhif/n"""
print(str)(3)python的字符串拼接abcd+abcd【输出的结果是abcdabcd】

赋值操作符"="

(1)x=5;
(2)x,y=4,6

算术操作符

1、“+”   加号
2、“-”   减号
3、“*”   乘号
4、“/”   精确除号
5、“%”   求余数号
6、“**”  指数运算号  【注意先执行乘法再执行减法,和数学上不同,一般少用】
7、“//”  约等除号
8、“+=” 减等于号       【a=a-1等价于a-=1】
9、“-=” 加等于号        【a=a+1等价于a+=1】
10、“*=”乘等于号
11、“/=”除等于号
12、“=” 等于号【可以使用连等操作a=b=c=d=10】
【防盗标记--盒子君hzj】

比较操作符

由> < = !的组合

逻辑操作符

(1)"and"操作符,类似于C语言中的“&”
(2)"or"操作符,类似于C语言中的“|”
(3)"not"操作符,类似于C语言中的“!”   【注意非0的数据又返回1】
注意
(1)返回数据为布尔型(bool)

逻辑操作符"and"、“or”、“not”

 举例:(num1<num2)and(num3<num2)       【返回的是true】【防盗标记--盒子君hzj】注意:(1)功能上和C语言中的“与”“或”“非”功能一样

and操作符

1、功能:可以将任意的表达式连接在一起,并得到一个布尔类型的值,类似于C语言的“与”操作符"&"
2、例子: 3>2 and 2>1【返回的是true】
3、注意
(1)and的优先级是最低的
(2)良好的编程习惯可以表达成(3>2) and( 2>1)

优先级问题

1、如果理解的很深不用写小括号()
2、为了美观和易读性,还有优先级明确最好加上小括号()进行区分
3、一般的优先级顺序算术操作符>比较操作符>逻辑操作符【防盗标记--盒子君hzj】

.
.

3.python条件语句和循环结构

(1)条件语句(if/else)

1、语句返回类型:语句返回的是布尔数据类型

不是true就是false

2、语法:

if 条件:......
else:......

3、注意:

(1)if后面不同跟小括号()
(2)条件后面要加上“:”
(3)语句结束不要加分号“;”用Tab键做格式分隔,缩进范围就是作用域
【防盗标记--盒子君hzj】
(4)注意python中没有switch语句 ,只有if/else语句

4、条件包括

(1)判断的字符,有> < = !的组合
(2)可以直接上返回值为布尔值的函数#### 5、嵌套与并列结构
if和else可以相互嵌套,但是缩进格式不能乱#### 6、break语句
一般配合break使用

7、使用的一般框架

框架一(并行,每次都要判断,嵌套不行再用并行):
【防盗标记--盒子君hzj】
while(1)if 条件1:......if 条件2:......if 条件3:......框架二(嵌套,不建议这样书写):
while(1)if 条件1:......else:if 条件2:......else:......
框架二(嵌套,建议这样书写):
while(1)if 条件1:......elif 条件2:......elif 条件3:......

8、条件表达式(三元操作符,但建议使用二元操作符,方法一)

x,y=4,6方法一:
if x<y:small=x
elsesmall=y方法二:
small=x if x<y else y
【当x<y为真是,把x的值赋给small,否则把y的值赋给small】
注意:
(1)三元操作符理解起来是比较麻烦的,不建议的

.
.

(2)循环结构(while、for)

1、功能

实现功能一致的语句,不断循环执行,知道满足条件

2、语法

(1)while框架while 条件表达式:循环体(2)for框架for 值 in 序列集合及可迭代对象:循环体
【for语句比C语言的for语句更智能,当序列集合及可迭代对象为非零进入循环,为零的时候跳出循环】
【序列集合及可迭代对象可以是读取数据类型,可以是返回值为布尔类型的函数】
【把序列集合及可迭代对象的结果传递给值中,直到序列集合及可迭代对象迭代完毕】
【防盗标记--盒子君hzj】for例子1:num=[1,2,3,4,5]for i in num:print(i)【把num列表的每个元素依次赋值给i,再打印出来】for例子2:for i in range(5):print(i)【把num列表的每个元素依次赋值给i,再打印出来】【防盗标记--盒子君hzj】

3、注意

(1)while后面没有小括号()
(2)条件后面有冒号:
(3)缩进符代替了花括号{}
(4)语句结束没有分号:
(5)循环结构(for/while)既可以嵌套有可以并列,和条件语句一样

break和continue语句

1、break功能:终止循环并跳出循环体
2、continue功能:终止本轮循环并继续进行下一轮循环

.
.
.

4.python的调试工具–断言、异常

背景:

在实际情况下,由于程序要面向的对象非常多,而且对象的属性大部分不按套路出牌(属性不一样),
在不同计算机运行同一程序避免不了会有异常的情况

断言(assert)

(1)功能:当这个关键字后面的条件为加的时候,程序自动崩溃并抛出assertionerror的异常
(2)例子:assert 3>4
(3)应用场景:在调试的时候,可以用assert再程序中置入检查点,要证明程序中某个过程一定成立才能真正运行起来程序的时候

try语句+except语句

功能:
先运行try语句里面的内容,若没异常抛出则成功通过,若有异常抛出则运行except里面的内容,except里面的内容一般是可能错误的原因和提示
【防盗标记--盒子君hzj】格式:
try:......
except 异常类型 as error_reason:......

三、python的数据结构

1.列表list[] 【数据结构的大杂缸】

(1)功能

和C语言的数组功能类似 ,但是数组要求数据类型是一致的,列表没有这个要求,列表可以把整型,浮点型、元祖,列表等等的数据类型打包放在一起,统一管理

(2)创建一个普通的列表方法一(类似于数组)

num=[1,2,3,4,5,6]
num=[range(5)]
num=['a','b','c','d']

(3)创建一个普通的列表方法二

里面的元素包括整型,浮点型,字符型,字符串型,对象,列表,布尔类型等等
min=['小狗',1,3.14,[1,2,3]]

(4)创建一个普通的列表方法三

当想不到要填充什么内容,但是有知道一定要用的的时候empty=[]

(5)向列表里面添加元素

(1)背景:

除了在创建列表的时候向列表里面添加元素的方法外,还可以在已有的列表里面添加元素

(2)方法一:【append函数】:

empty.append(1)  【这时候空列表就有1】
min.append(1)        【这时候混合列表在做后面会加入1】
注意
1、append()是一个方法(函数)
2、append()只能添加一个元素
【防盗标记--盒子君hzj】

方法二:【extend()函数】

empty.extend([1,2,3,4,5])【这时候空列表就有1,2,3,4,5】
注意
1、只能输入一个参数,这个参数就是列表(本质上就是用一个列表去扩展另外一个列表)

方法三:【insert函数】

min. insert(0,'aaa')       【在min这个列表的第一元素插入‘aa’字符串】
注意:
1、insert()有两个输入参数,第一个参数是添加的元素放在列表的位置,第二参数是插入的元素

(6)从列表里面删除元素

方法一:【remove()函数】

举例:
num=[1,2,3,4,5,6]
num.remove(1)       【从num这个列表中删除1这个元素】
【防盗标记--盒子君hzj】
注意:
(1)使用remove这个函数不要知道这个元素在列表的位置,仅仅知道这个元素存在列表中就可以的
(2)如果该元素不存在与这个列表中,使用remove操作会报错

方法二:【del方法】

举例:
del num             【把num这个列表删除】
del num[1]          【把num这个列表删除的第二个元素删除】
注意:
(1)del既可以删除整个列表,也可以删除列表中的某个元素,但是要知道该元素在列表中的位置

方法三:【pop()函数】

举例:
num=[1,2,3,4,5,6]
num.pop()       【删除num这个列表】
num.pop(1)  【删除num这个列表中的第二个元素】
注意:
(1)使用pop这种方法不仅可以删除列表中的元素,还可以同时返回删除掉的元素(用于赋值)

(7)同时获取操作多个元素

 方法:列表分片(slice) 【关键符是冒号:】举例:(1)num=[1,2,3,4,5,6]       (2)num[:]                  【把num这个列表所有的元素都获取】(3)num[:3]               【把num这个列表开始到第三号的元素都获取】(4)num[3:]               【把num这个列表第三号到结尾的元素都获取】(5)num[1:3]              【把num这个列表第二号到第四号的元素都获取】【防盗标记--盒子君hzj】注意:(1)切片的方法本质上市对列表进行复制,并不影响原来的列表

(8)列表的一些常用操作符

(1)比较操作符 “<”、“>”、“=”、"!"的组合

举例:
num1=[123]
num2=[456]
num3=[123,456]
num4=[456,123]
num1==123     【返回的是true】
num1>num2        【返回的是false】
num3>num4        【返回的是false】
注意:
(1)对于列表的比较操作符,仅仅比较列表的第0 号元素
(2)数值型的能直接比较,字符型的转换成Acase码比较

(2)逻辑操作符"and"、“or”、“not”

举例:(num1<num2)and(num3<num2)        【返回的是true】
注意:
(1)功能上和C语言中的“与”“或”“非”功能一样
【防盗标记--盒子君hzj】

(3)连接操作符“+”

举例:(1)num6=num1+num2      【返回的是[123,456]】(2)num6=num1+"aaa"     【返回的false】
注意:
(1)功能类似字符串的连接
(2)连接操作符“+”是一个双目操作符,左右两边的元素类型必须一样

(4)重复操作符“*”

举例:
(1)num7=num1*3       【返回的是[123,123,123]】
(2)num1*=3               【返回的是[123,123,123]】
注意:
(1)对于列表和元祖,“*”号是重复操作符
(2)对于数字数值,“*”号是乘法
(3)对于指针,“*”号是引用操作符
(4)重复操作符“*”可以和赋值操作符结合“=”在一起,成为“*=”

(5)成员关系操作符“in”、“not in”

举例:
(1)123 in num3            【判断123这个元素是否在num3这个列表里,若在返回true,不在返回false】
(2)123 not in num3        【判断123这个元素是否在num3这个列表里,若在返回true,不在返回false】
(3)num8=[123,456,[789,147]]789 in num3           【返回的是false,因为789不是该列表的元素,是该列表元素的元素】789 in num3[2]     【判断123这个元素是否在num3这个列表第三个元素里里,若在返回true,不在                                                         返回false】
注意:
(1)成员关系操作符可以判断列表所有元素和元素树的包含关系

(9)访问列表中的元素(下标方式)

举例:
num=[123,[123,456],456]
num2=num[0]        【返回的是123】
num3=num[1]        【返回的是[123,456]】
num4=num[1][1] 【返回的是123】
注意:
【防盗标记--盒子君hzj】
(1)访问下标有点像二维数组,可以用二维数组来理解

(10)列表的其他常用内置函数

注意:list全部的函数可以通过指令dir(list)获取

(1)计算元素在列表中出现的次数count()函数

举例   :
num=[123,123,456]
num.count(123)              【返回的是2,说明元素123在列表num中出现了两次】
注意:
(1)count()的输入的参数是查询的元素

(2)返回要判断的元素在列表中的位置 index()函数

举例:
(1)num=[123,123,456]
(2)num.index(123)         【返回的是0,说明元素123在列表num中的第0个位                                                                           置,默认是最左边的】
(3)num.index(123,1,2)     【返回的是1,说明元素123在列表num中的第1个位                                                                       置,查询范围是2~3号位置】
(4)num.index(456)         【返回的是2,说明元素123在列表num中的第三个位                                                                       置】
注意:
【防盗标记--盒子君hzj】
(1)index()的一号输入的参数是查询的元素,二号输入的参数是查询的起始位置,                           三号输入的参数是查询的终止位置
(2)若列表中含有多个相同的元素,默认返回的是查询范围最左边的

(3)把列表中的元素先后顺序翻转reverse()

举例:
num=[1,2,3,4,5,6,7,8,9]
num.reverse()               【返回的是[9,8,7,6,5,4,3,2,1]】
注意:
(1)reverse是list列表的内置函数,相当于是类内函数,用“.”操作符

(4)把列表中的元素按大小顺序排序sort()

举例:
num=[1,3,5,7,9,2,4,6,8](1)  num.sort()                 【返回的是[9,8,7,6,5,4,3,2,1]】
(2)num.sort(reverse=true)            【返回的是[1,2,3,4,5,6,7,8,9]】
注意:
(1)默认是从小到大进行排序的
【防盗标记--盒子君hzj】
(2)sort()中的参数如果是reverse,则从大到小排序

.
.

2.元祖tuple(戴上了枷锁的列表)

功能:

元祖和列表的使用方法是很相似的,都是所有数据类型的仓库,但是不同之处在于,
列表可以更改(添加删除)自身的元素,而元祖从创建开始就不嫩更改自身的元素

(1)创建一个元祖

举例:
(1)tulpe1=(1,2,3,4,5,6)
(2)tulpe1=1,2,3,4,5,6        【和上面的作用是一样】
(3)tulpe1=()                   【创建一个空元祖】
(4)tulpe1=1,                  【创建一个元素为1 的元祖】
注意:
(1)创建一个元素一般是用小括号“()”,但是本身上是逗号“,”
(2)推荐使用第一种方法,比较规范整洁
【防盗标记--盒子君hzj】

(2)访问一个元祖

举例:
(1)tulpe1=(1,2,3,4,5,6)
tulpe2=tulpe1[1]       【下标的方法,输出的是2,使用tulpe1的第二个tulpe2】
(2)tulpe2=tulpe1[1:]     【切片的方法,输出的是2,3,4,5,6,使用tulpe1的第二个                                                                 元素到最后一个元素创建tulpe2】
注意:
(1)访问列表里面的元素和列表于数组一样,都是用下标的方法,包括二维下标
(2)可以使用切片的方法对元祖的元素进行访问

(3)修改一个元祖的元素

举例:
(1)tulpe1=(1,2,3,4,5,6)
tulpe1[0]=2                【这样会报错】
注意:
(2)元祖的元素从创建起就不能被修改

(4)更新一个元祖的元素

举例:
(1)tulpe=(1,2,3,4,5,6)
tulpe=tulpe[:3]+"aa"+tulpe[3:]         【输出的是(1,2,3,aa,4,5,6)】
注意:
(1)元祖的元素不能被更改,但是可以被更新,更新后的元祖会覆盖原来的元祖

(5)删除一个元祖

举例:
del tuple       【删除整个元祖】
注意:
(1)当个元祖不存在的时候,会报错

(6)元祖常用的操作符

(1)比较操作符       "<"、">"、"="、"!"的组合
(2)逻辑操作符"and"、"or"、"not"
(3)连接操作符“+”
(4)把列表中的元素按大小顺序排序sort()
(5)成员关系操作符“in”、“not in”
【防盗标记--盒子君hzj】
注意:
(1)用法和列表操作符一致

.
.

3.字符串string

(1)创建一个字符串

举例:
str1="abcdefg"
注意:
(1)创建一个字符串是用双引号“”

(2)访问操作一个字符串

举例:
str2=str1[1]       【输出的是b,使用下标的方法】
str2=str1[:3]      【输出的是abc,使用的是切片的方法】
注意:
(1)python这个类型是没有字符这个类型的,python认为字符是字符串串里面的某个元素
(2)当我们要使用单个字符的时候可以直接用下标、切片的方式直接索引字符穿的某个元素
(3)字符串一旦被创建就不能被更改了,只能使用类似元祖的方法进行更新

(3)内置函数

注意:
(1)无论是列表,元祖还是字符串,都有自己的内置函数,其中功能上,字符串>列表>元祖
(2)由于字符串的内置函数非常多,我们不可能全部都记得住,要用什么功能的时候就百度上查,记住以下常用的内置函数就好
【防盗标记--盒子君hzj】
(3)每次python版本更新都会加入更多的内置函数

(4)字符串格式化

举例:
(1)“{0}”love“{1}”“{2}”.format("I","HZJ","HAHA") 【输出的是I love HZJ                                                                                                                             HAHA】
(2)“{a}”love“{b}”“{c}”.format(a="I",b="HZJ",c="HAHA")    【输出的是I                                                                                                                          love HZJ HAHA】
(3)“{0}”love“{b}”“{c}”.format("I",b="HZJ",c="HAHA")       【输出的是I                                                                                                                          love HZJ HAHA】
(4)‘%c’%97                                    【输出的是a,因为97的ASCII码是a】
(5)‘%c%c%c’%(97,98,99)        【输出的是abc,因为97,98,99的ASCII                                                                                          码是abc】
注意
(1)不同程序员写出的字符串格式不一样,不能兼容的同一管理,字符串格式化可以解决这个问题
(2)"{}"里面如果输入的是123等的位置信息会自动根据format()里面的信息进行匹配
(3)"{}"里面如果输入的是关键字信息,format()里面要有对应关键字信息进行匹配
(4)"{}"里面可以结合123等位置信息和关键字信息,在用format对应进行匹配,但是要注意123等位置信息                      一定要在关键字信息前面,不然会报错
(5)格式化符“%”,“%”本来是去余数操作符,但是遇到了字符串后被重载为格式化操作符
具体的格式化符号为%c ,%s ,%d ,%o ,%x ,%X ,%f ,%e ,%E ,%g ,%G
具体功能和使用方法可以查百度

.
.

4.字典dictionary{}

功能:

相当于数学里面的映射关系,当索引不好用的时候可以使用字典,字典是python中唯一的映射类型,
字典中的单词类似于键(key),字典中单词的含义类似于值(value),
允许通过某个键值(key)索引查找对应的值(value)
【防盗标记--盒子君hzj】

(1)创建一个字典

模板:
dict1={'键1(key1)':'值1(value1)','键2(key2)':'值2(value2)','键3(key3)':'值3(value3)'}
举例:
【1,创建一个字符对象的字典】
dict1={'李宁':'一切皆有可能','耐克':'哈哈','阿迪达斯':'hoho'}【2,创建一个数值对象的字典】
dict2={1:'one',2:'two',3:'three'}【3,创建一个空字典】
dict3={}

(2)访问一个字典

【1】print('李宁的口号是:',dict1[李宁])        【输出的是一切皆有可能】
【2】dict2[2]                                                         【输出的是two】

(3)修改或添加字典中键对应的值

dict1['李宁']=‘我超厉害’
dict1['何子俊']=‘我超牛逼’

(4)字典的内建函数

(1)fromkeys(...)
用法:dict.fromkeys(s,[,v]),其中s是键值(key),v是值(value)可选的,如果不提供值默认为none
功能:在字典里添加元素,仅仅可以添加一个
举例:
dict1={}
dict1.fromkeys(1)               【返回的是{1:None}】
dict1.fromkeys(1,哈哈)     【返回的是{1:哈哈}】
【防盗标记--盒子君hzj】

(5)常用访问字典的函数

【1】keys()
功能:仅仅返回字典中键值,不返回键对应的值
举例:
dict2={1:'one',2:'two',3:'three'}
dict2.key()                             【返回的是1,2,3】【2】values()
功能:仅仅返回字典中键对应的值,不返回键值
举例:
dict2={1:'one',2:'two',3:'three'}
dict2.value()                           【返回的是one,two,three】【3】items()
功能:既返回字典中键值,有返回键对应的值
举例:
dict2={1:'one',2:'two',3:'three'}
dict2.items()                               【返回的是(1,one),(2,two),(3,three)】

(6)删除一个字典的元素

(1)dict1.clear()       【建议,不会泄露数据,删除一个字典dict1里面的元素,但是dict1依然存在,是一个空字典】
(2)dict1={}              【不建议,会泄露数据,把dict1赋值为空字典也可以清空字典里面的内容】注意:
(1)注意区分映射类型和序列类型的存储方式,序列类型典型的是列表、元祖、字符串等等,序列类型可以通过下标和切片索引到每个元素,但是映射类型是建立两个元素之间的关系
【防盗标记--盒子君hzj】
(2)大花括号是字典的标志,但不是字典特有的,当大花括号里面有键和键对应的值才是字典
(3)访问一个字典键的属性的时候,仅仅用大括号输入键的值就可以了,python可以自动映射进去找到键对应的值
(4)键和值得数据类型可以是数值数据类型、列表、元祖、字符串、关键字参数等等
(5)修改字典中键对应的值,直接用键名索引键的值,并用赋值的方式修改,若输入的键本来就在字典里的,直接修改键对应的值,若输入的键不在字典里的,直接创建新的键对应的值。
(6)索引字典中的元素,如果该元素不存在,就会报错
(7)判断元素在不在字典里,可以使用成员操作符“in”,"not in"
(8)字典还有很多内置函数,自行百度 可以用命令行dir(dict)查找全部的内置函数

.
.

5.集合set

功能

集合里面的元素都是唯一,就是集合里面的元素都没有重复,
若创建集合的时候有重复的元素会自动清除重复的元素

(1)定义一个集合

num={1,2,3,4,5,6}       【方法一:直接把一堆元素用花括号括起来】
num=set([1,2,3,4,5,6]) 【方法二:使用set()内置函数,直接输入参数】num=[1,2,3,4,5,6]       【方法三:使用set()内置函数,用列表创建集合】
num1=set(num)

(2)在集合里面索引访问一个元素

(1)num1=num[2]            【报错,不同通过索引获得集合里面的元素】
(2)【方法一:使用for 把集合里面的数据一个个读取出来,通过成员操作符判断元素是否在集合里】

(3)集合里面不能有相同的元素

num={1,2,3,4,5,6,6}     【调用这个集合的时候会自动把相同的元素清除,但不会报错】

(4)去除列表中的重复元素方法对比

【函数的方法:成员操作符】
num=[1,2,3,4,5,1,3,5]
temp=[]
for each in num:if each not in numtemp.append(each)
temp【集合的方法】
num=[1,2,3,4,5,1,3,5]
temp=list(set(num))
temp

(5)集合的内置函数

(1)向集合里面添加元素add()
num={1,2,3,4,5,6}
num.add(7)          【向num这个集合里面添加元素7】
(2)在集合里面删除元素remove()
num={1,2,3,4,5,6}
num.remove(6)           【向num这个集合里面添加元素6】

(6)不可变集合frozenset()

功能:不能改变集合里面的元素,包括更改,添加和删除
num=frozenset([1,2,3,4,5])   【定义不可变集合】
num.add(1)                          【报错,不能改变集合里面的元素,包括更改,添加和删除】
【防盗标记--盒子君hzj】
注意:
(1)在python中如果只有大花括号没有键和键对应的值,就是集合类型set,所以集合和字典是近亲关系
(2)集合set是无序的,无法通过索引获取集合里面的元素,集合不支持索引index
(3)集合里面的元素数据类型不限,包括数值类型,列表,元祖、字典、字符串等等
(4)调用这个集合的时候会自动把相同的元素清除,但不会报错
(5)用set()创建的集合是无序的,若想创建有虚的集合最好用大花括号直接给参数创建
(6)集合有很多内置函数可以调用,可以用百度结合命令行dir(set)继续学习相应功能

.
.

参考资料

python格式规范采用pep8
https://www.python.org/dev/peps/pep-0008/

python规范补充(ROS)
http://wiki.ros.org/PyStyleGuide

第一篇:python语法基础相关推荐

  1. Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花

    上一节讲了一些Python编程的一些基础知识,从这节开始,我们将跟随一些实际的小程序示例,进入正式的编程学习.       下面我们就来介绍一下今天这个只有10行代码的小程序,先来看一下它的运行效果, ...

  2. python自学视频-师傅带徒弟学Python:第一篇Python基础视频课程

    ,赠送一本"Python相关图书". 咨询方式:加[51CTO-关老师付费群]523714201 验证消息:咨询赠书 本视频采用Python 3.x版 本篇包括8章内容,系统介绍了 ...

  3. 《Python编程快速上手——让繁琐工作自动化》——第一部分 Python编程基础 第1章 Python基础 1.1 在交互式环境中输入表达式...

    本节书摘来自异步社区<Python编程快速上手--让繁琐工作自动化>一书中的第1章,第1.1节,作者[美] Al Sweigart,王海鹏 译,更多章节内容可以访问云栖社区"异步 ...

  4. 第02章 Python语法基础,IPython和Jupyter Notebooks

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  5. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  6. 第02章 Python语法基础,IPython和Jupyter Notebooks--Python for Data Analysis 2nd

    当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题:我们现在使用的库,比如pandas.scikit-learn和statsmodel ...

  7. 《利用Python进行数据分析·第2版》第2章 Python语法基础,IPython和Jupyter Notebooks

    第 1 章 准备工作 第 2 章 Python 语法基础,IPython 和 Jupyter Notebooks 第 3 章 Python 的数据结构.函数和文件 第 4 章 NumPy 基础:数组和 ...

  8. 《利用Python进行数据分析·第2版》第2章 Python语法基础,IPython和Jupyter Notebooks...

    第1章 准备工作 第2章 Python语法基础,IPython和Jupyter Notebooks 第3章 Python的数据结构.函数和文件 第4章 NumPy基础:数组和矢量计算 第5章 pand ...

  9. 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇

    本节书摘来自华章出版社<Ansible权威指南 >一书中的第1章,第1.1节,李松涛 魏 巍 甘 捷 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 ...

  10. python语法基础知识总结-python语法基础知识

    一.数字类型及操作 1.整数类型 可正可负,无取值范围限制pow(x,y):计算x^y 2.浮点数类型 存在不确定尾数round(x,d):对x四舍五入,d为小数截取位数e/E:a*10^b 3.复数 ...

最新文章

  1. HDU5007 Post Robot
  2. Oracle 入面既一d函数
  3. hosts和resolv.conf区别
  4. linux 命令行 ctrl z,Linux操作系统下运行命令时CTRL+Z的作用
  5. ATEN—第九章OSPF多区域的配置
  6. SSM:Spring整合MyBatis框架时出现 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManaged
  7. 【Kafka】kafka报错 UnknownHostException: %HOSTGROUP::host_group_zookeeper%: Temporary failure in name re
  8. 创新与创业的良性共存 又拍云Open Talk NO.20开讲
  9. python实现 Floyd算法求解最短路径距离问题
  10. netlify支持php吗,用 hugo 和 netlify 搭建blog【转】
  11. Phase2 Day14 Collections RedBlackTree
  12. 2023年陕西师范大学宗教学考研上岸前辈备考经验指导
  13. oracle数据库: ORA-01775: 同义词的循环链问题
  14. 一款自适应的聊天网站-匿名在线聊天室PHP源码
  15. 微信小程序实现下拉框功能
  16. 安装pycrypto
  17. 各种软件开发方向和前景
  18. Android 学习之那些年我们遇到的BUG1:This view is not constrained, it only has designtime positions
  19. 职业测评VS职业规划
  20. windows驱动开发5:WDK Demo:avstream avscamera

热门文章

  1. 删除virbr0虚拟网卡
  2. 学计算机什么电脑配置可以吗,学习室内设计,需要什么样的电脑配置?
  3. 有什么软件测试显卡坏不坏,显卡坏了的症状有那些?
  4. OpenGL:纹理贴图
  5. 人生没有捷径,看完这个你就明白
  6. mac电脑打不开html文件怎么处理,苹果电脑mac系统打不开rar文件怎么办?mac电脑打不开rar文件的解决方法...
  7. Python 读取文件及保存文件
  8. Android将后台应用唤起到前台,唤醒APP;
  9. wms仓库管理流程的基本作业
  10. 机箱硬盘指示灯不亮_拒绝光污染,不要噪音,这款机箱绝对能帮到你