一、快捷键
移动到本行开头:home键
移动到末尾:end键
注释代码:Ctrl + /
复制行:Ctrl + d
选择列:shift + alt +鼠标左键
移动行:shift + alt +上下箭头(往上移动 上箭头;往下移动 下箭头)
智能提示:Ctrl + speace(空格键)
删除行:shift +del
规范代码:Ctrl +alt + L
二、变量
定义:关联一个对象的标识符
变量名称 = 数据
命名:必须是以字母或者下划线开头,后跟字母、数字、下划线;不能使用关键字,否则发生语法错误(Syntax Error:invalid syntax)
例:Person_name ="zs"
class_name ="2451"
Person_name ="cx"
print("Person_name")
内存图:
三、核心数据类型
1、整型 int
例:number = 2
2、浮点型 float
例:number = 1.0
3、字符串
例:number = "zs"
4、数据类型转换
str -->int
str --> float
其他类型-->str
5、复数
由实部和虚部组成的数字
虚部以 i 或 j 结尾
6、运算符
1>、算术运算符
+ - * / % ** //
2>、增强运算符
number +=10
# number = number +10
3>、布尔类型 bool
bool 类型:用来表示真假的
True :表示真
Flase:表示假
bool运算
1>比较运算
2>逻辑运算
与and
或or
非not
四、选择语句
1、if -else 语句
例:if input("请输入性别") =="男" :
gender=1
else:
gender=0
2、while 循环
例:循环计数
count =0
while count <5:
print(count)
count +1
3、for循环
语法:
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
五、
1、字符串 str
定义:由一系列字符组成的不可变序列容器,存储的是字符的编码值
格式化字符串:
%d 整数变量 %s 字符串变量 %f 小数变量
例 :print("我叫%d" %(name))
2、索引 index
作用:定位单个元素
注:不可以超过范围 len(s-1)
3、切片
例:print(::-1)
# 字符串倒叙排列
4、列表
1.创建
list 01 = [ ]
list 02 = list()
2.添加
追加(尾)
list01.append("A")
插入(中间)
list 01.insert(第几位,"内容" )
3. 获取
索引:单个
切片:多个(会创建新列表)
循环:所有
倒序
4.修改
例:list 01 [10,[20,30]]
list 02 = list 01[:]
list 03 = list 01
内存图:
5、元组
1.创建
tuple01 =()
tuple02 = tuple()
2.查询
1> tuple03 =("a","b","c")
a,b,c = tuple03
2> 索引
print(tuple03[1])
3> 切片
print(tuple03[:1:])
4>循环
for item in tuple03:
print(item)
6、字典
1.创建
dict01 ={}
dict02 = dict()
2.添加
dict01[104]="d"
3.修改
dict01[104] ="e"
4.查询
1> print(dict01[104])
2> 循环
for key in dict01:
print(key) #打印主键
for value in dict01.values:
print(value) #打印值
for key,value in dict01.items():
print(k) #打印主键
print(v)
字典:
优点:根据键获取值,读取速度快;代码可读性相对列表跟高
缺点:内存占用很大;获取值只根据键不灵活
列表:
优点:根据索引/切片获取元素,更灵活
缺点:通过索引获取如果信息较多可读性不高
集合 set
定义:有一系列不重复的不可变类型变量组成的可变映射容器(相当于只有键没有值的字典)
1.创建
set01 = set()
2.添加
set02.add("q")
3.删除
set02.remove("a")
4.获取所有元素
for item in set02:
print(item)
5.数学运算
1> 交集
print(set01 & set02)
2> 并集
print(set01 | set02)
3> 补集
print(set01 ^ set02)
4> 子集
print(set01 < set02)
5> 超集
print(set01 > set02)
六、函数
1、定义:表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人
例:N=input("请输入姓名")
字面意思:输入(参数)
‘=’ 赋值号
参数:调用者传递给定义者的信息
返回值:定义者传递给调用者的结果
作用:在终端获取用户输入的信息
2、自定义函数
1.定义(做功能)函数
def attack(形参)
2.调用
attack(实参)
例 :
#在方法区中存储函数代码,不执行函数体
def fun01(a):
a = 100
num01 = 1
#因为调用函数,所以开辟一块内存空间,叫做栈帧
#用于存储在函数内部定义的变量(包含参数)
fun01 (num01)
#函数执行完后,栈帧立即释放(其中定义的变量也会销毁)
print(num01)
内存图:
3、作用域 LEGB
1.定义:变量起作用的范围
Local 局部作用域 :函数内部
Enclosing 外部嵌套作用域 :函数嵌套
Global 全局作用域:模块(.py)内部
Builtin 内置模块作用域:builtins.py文件
查找规则:L-->E-->G-->B
2.全局变量
g01 ="ok"
def fun01():
#局部变量:在函数内部定义的变量
L01 = 100
#在函数内部可以读取全局变量
print(g01)
#创建一个局部变量g01,而不是修改全局变量
g01 = "no"
#定义全局变量在函数内部
global g01
4、函数参数
1.实际参数
例:def fun01(a,b,c,d):
print(a)
print(b)
print(c)
print(d)
#位置实参:实参位置与形参位置一一对应
fun01(1,2,3,4)
#关键字实参:实参与形参根据名称依次对应
fun01 (a=1,b=2,c=3,d=4)
#序列实参:星号将序列拆分后按位置与形参进行对应
list01=["a","b","c","d"]
fun01 ( * list 01)
#字典实参:双星号将字典拆分后按名称与形参进行对应,如果参数很多可以存储在字典中,再通过**拆分直接传入函数
dict01={"a":1,"b":2,"c":3,"d":4}
fun01 =(**dict01)
2.形式参数
#缺省(默认)参数:如果实参不传递或者不提供,可以使用默认值
def fun01(a=0,b=0,c=0,d=0):
print(a)
print(b)
print(c)
print(d)
#关键实参+缺省参数:调用者可以随意传递参数
fun01(b=2,c=4)
#位置形参
def fun02(a,b,c,d):
print(a)
print(b)
print(c)
print(d)
#星号元组形参:星号将所有形参合并为一个元组
def fun03(*args):
print(args)
fun03()
#命名关键字形参:在星号元组形参以后的位置形参;目的:要求实参必须使用关键字实参
def fun04(a,*args,b):
print(a)
print(*args)
print(b)
fun04(1,b=2)
#双星号字典形参:**目的将实参合并为字典
def fun05(**a):
print(a)
fun05(a=1)
位置形参-->星号元组形参-->命名关键字形参-->双星号字典形参