环境搭建:官网下载,pycharm编译器用于开发
Jupyter沙箱
变量:定义变量,变量名=变量
标识符(变量名)命名规则:变量名中,只能由数字 字母 划线三类组成,
不能以数字开头。不能使用内置关键字(函数名,定义函数的DEF)。
严格区分大小写(小写大写就是两个变量,指向两个地方);
命名习惯:见名之义
驼峰原则:大驼峰(首字母大写) 小驼峰(第二个单词的首字母大写)
以下划线开头
格式化输出:输出函数:print(打印括号中的内容);
格式化输出函数:format()==》语法’{}’.format()用于格式化字符串,可以接收无限个参数,可指定顺序,最后输出的是一个字符串
输入函数:input 语法:变量名=input()存储下来,控制台输入内容为字符串
Python 数据类型:可自定义,默认的有6种标准数据类型:
一:数值类型:int(128个空间)
Int的四种声明方式:变量名=数值(十进制0~9)
变量名=0b数值(二进制0~1)
变量名=0o数值(八进制0~7)
变量名=0x数值(十六进制0~9 A~F)
不管定义的是二进制,八进制,十六进制,输出都是十进制
浮点数类型:float 变量名=小数
复数类型:complex ,两种声明方式:
(1).变量名=实数+虚数(实数虚数都是数字,虚数最后加一个j)
(2). 变量名=complex(实数+虚数)
布尔值类型:true(1),flase(0)
二:字符类型String
字符串string,文字类型,声明方式有三种:
变量名=‘内容’:单引号
变量名=“内容”:双引号
变量名=’’’内容’’’:三引号
转义字符:\(续行符)
\\:显示\
\’:只显示 ’ 原本’是定义字符串的意思。现在用\转义符。‘就没有定义字符串的功能了
\’’:同上
\n:换行符
\r:回车符回车符会使回车符之后的字符覆盖前面的字符(通常情况回车符会和换行结合使用效果和换行符一样)
\t:水平制表符(表示占位,四个字符算一个位置)
r:元字符串:在任意字符串之前添加r或R,那么当前字符串中所有转义字符都不会进行转义操作
三:列表类型list
列表是一个可变(增删改查)的有序(有下标索引)序列:通常用于存储同类项目的集合,元素类型可不必相同:用[元素1元素2]去声明,元素不唯一
四:元组:tuple
元组是一个不可变的有序序列(通过重新给变量赋值,达到改变的效果),通常情况下用来保存程序中不可修改的部分,元组中元素类型可不必相同。使用()去定义和声明(元素1,元素2)。元素可不唯一
五:集合set :集合对象是由具有唯一性的元素组成的无序序列,常见的用途包括成员检测,从序列种去除重复项以及数学中的集合计算例如交集。并集。差集等。集合主要分为两种,一种是可变集合(set),一种是不可变集合(frozenset)。集合使用{}定义;
六:字典dict(对应java的map:键值对) 字典是一种映射类型,可变的无序序列。以键值对形式进行存储。根据key进行查看所以key不能重复,因此key必须是唯一且不可变类型。
因此key不能是可变的数据类型(例如list),value没有限制;字典用{key:value}表示;
缩进:python的缩进是强制要求的
多行注释:’’’ ’’’;
运算符:算术运算符: **幂运算2的三次方就用2**3表示
%取余数
//除法取整运算(向下取整,只取整数部分)
赋值运算符 </>/<=/>=/==/!=
逻辑运算符 and/or/not
Python入门2:
程序结构(1):顺序结构,从上往下依次执行,中间没有任何判断和跳转;
(2):选择结构:根据条件判断的结果来选择执行不同的代码可以是单分支(通过if来实现),双分支(if和else组合实现:else不能单独使用,与同层级向前匹配最近的if使用),以及多分支(if--> elif-->else(else可有可无)),三元表达式:简化条件判断语句,得到的是一个表达式为了保证程序的清晰易读。复杂的程序不建议用三元表达式;
(3):循环结构:根据条件来重复执行某段代码或者遍历序列中的元素
(可循环列表:list[] ,set{} ,tuple(),dict{key:value})
While 循环和for循环
While条件(布尔类型表达式):循环体
For变量名in 迭代对象:循环体 常用的迭代对象:list[],set{},dict{key:value},tuple(),string
数据类型的具体操作:查看数据类型:type():整数和浮点数相加就一定是个浮点数类型
精度低的自动转化为精度高的类型
Day2:
序列操作:
一:列表的基础操作:
- 定义一个列表。[ ]
- 访问列表:
(1) .print打印整个列表。达到查看的目的
(2) .print(list[2])查看list集合中角标为2的元素。
- 增删改操作
(1) .直接将元素2添加到列表list的最后一位:list.append(2)
(2) .指定位置(角标为2的位置)新增元素A下标从0开始:list.insert(2,”A”)
- 删除操作,如果元素重复,默认删除第一个
(1) .list.remove(1)
(2) .del list[2]根据角标决定删除谁
(3) .- -deltime- -(5)通过下标5删除
- 修改元素
(1) .list[0]=100
- 列表的运算符
+实现列表的合并;*实现列表元素的重复
列表的合并:
print(list+list2)
列表元素的重复
print(list*3)
(1) 比较运算符都可以使用,实现列表内部元素的比较,从0开始。按照数值大小或ascii表的顺讯实现比较;
(2) Is 和is not实现列表内层地址的比较
(3) 成员比较:in和not in 实现列表是否包含某个元素的判断
Print(“a” in list )
(4) 自运算符操作:+=,*=
列表的切片 对列表进行截取,反转等操作:
list[-1]返回列表最后一个(倒序用的上这个)
List[:1]==list[0:1:1]
返回列表角标0到1的元素
List[1:]返回的第二个到最后一个的数据
List[-1:]返回最后一个数据
List[:-1]返回第一个到倒数第二个数据
List[::1]返回原列表
List[::-1]返回原列表的倒序(反转)
List[::2]返回步长为2
遍历列表(通过元素值遍历,通过元素下标进行遍历)
For i in list:
Print(i)
For i in range(len(list)):循环遍历出来角标。利用角标去获取数据
Print(list[i])
列表转换:set();tuple();list()
List.clear(清除列表中的元素)
List.count(统计列表中某个数值出现的次数)
Man(),min(),sort(reverse=false默认的)排序,从小到大,=true就是从大到小
浅拷贝copy() list2=list.copy() 只能拷贝一维数组
深拷贝 import copy list2=copy.deepcopy(list) 完全拷贝