目录
Python/Pycharm基础教程及python常用快捷键
python常用快捷键
ctrl+alt+l:代码格式化 alt+shift+f10:运行代码文件 shift+f10:运行编辑器 ctrl+/:注释行(可注释和取消注释选中所在的行) ctrl+d:复制行(复制光标所在行的内容到下一行,复制所选中内容到后面) shift+enter:跳到下一行 ctrl+backspace:删除光标前一个词组 ctrl+deleted:删除光标后一个词组 alt+shift+上下箭头:整行移动 alt+左右箭头:切换程序 ctrl+tab:切换窗口 ctrl+w:选中光标所在的词组 ctrl+alt+g:将下一行与本行合成一行 ctrl+shift+j:将下一行与本行合成一行 ctrl+enter:跳到下一行并换行 shift+f6:重命名文件 ctrl+f4:关闭当前窗口 ctrl+shift+][:选中光标到行末尾/行开头的内容一、输入函数input和输出函数print
# 输入函数input:input的函数类型为字符串类型str a = input('请输入一个数:a = ',) b = int(float(input('请输入一个小数:b = '))) c = float(input('请输入一个整数:c = ')) d = str(input('请输入一个字符串:d = ')) # 输出函数print print('a = ',a,type(a)) print('b = ',b,type(b)) print('c = ',c,type(c)) print('d = ',d,type(d))二、注释
# 单行注释 '''我是 多行 注释''' """我是 多行 注释"""三、输出文件
#将数据输出到文件中 out=open('D:/PyCharm/python练习1/输出文件.txt','a+') print('作者:吴通才\n时间:2022.01.21',file=out) out.close()四、打印
# 打印 name = '张三' age = '20' print('name的属性:\nid:',id(name),'\n数据类型:',type(name),'\n值:',name) print('age的属性:\nid:',id(age),'\n数据类型:',type(age),'\n值:',age) print('张三今年',age,'岁') print('张三今年'+age+'岁') #符号”+“是连接符号五、数据类型转换
# 数据类型转换 a = 1 b = 2.3 c = '你好!' d = "python" print(type(a),type(b),type(c),type(d)) #数据类型 print(float(a)) #int转float print(str(a)) #int转str print(int(b)) #float转int六、运算符
# 运算符的优先级:()>算术运算>位运算>比较运算>布尔运算>赋值运算
# 算术运算符:**,*,/,//,%,+,-(优先级从左到右) print('————————算术运算————————') print(2**3) #幂运算:2^3=8 print(2*3) #乘法运算:2*3=6 print(10/2) #除法运算:10/2=5 print(10//3) #整除运算:10//3=3(3.333取整) print(10//-3) #整出运算:10//-3=-4(10/-3=-3.3向下取整得-4) print(-10//3) #整出运算:-10//3=-4(-10/3=-3.3向下取整得-4) print(10%3) #取余运算:10%3=1(10/3=3余1) print(10%-3) #取余运算:10/-3=-3.3,向下取整得-4,10%-3=10-(-3)*(-4)=-2 print(-10%3) #取余运算:-10/3=-3.3,向下取整得-4,-10%3=-10-3*(-4)=2 print(10+10) #加法运算 print(100-10) #减法运算# 位运算:<<,>>,&,|(优先级从左到右) print('————————————————————位运算————————————————————') print(2&3) #位与运算:相当于与运算,2和3的二进制为010和011,对齐作与运算得010,转为十进制是2 print(2|3) #位或运算:相当于或运算,2和3的二进制为010和011,对齐作或运算得011,转为十进制是3 print(2<<1,2<<3) #左移位运算=十进制数*2^移动次数:2<<1=2*2^1=4,2<<3=2*2^3=16 print(2>>1,2>>2) #右移位运算=十进制数/2^移动次数:2>>1=2/2^1=1,2>>2=2/2^2=0(注意:最小为0)# 比较运算:>,<,>=,<=,==,!=,is,is not(优先级从左到右) print('————————————————————比较运算————————————————————') #True表示真的,False表示假的 print(10>5,10>=5,10<5,10<=5) #10>5是True,10>=5是True,10<5是False,10<=5是False a = 1;b = 2; print(a==b,a!=b) #==和!=:对象的value(值)比较,a=b为False,a!=b为True print('a的id(地址):',id(a),'\nb的id(地址):',id(b)) print(a is b,a is not b) #is和is not:对象的id比较# 布尔运算:and,or,not,in,not in(优先级从左到右,结果只有True和False) print('————————布尔运算—————————') print('————————— 布尔值为False的对象 ————————') print('False为',bool(False)) print('None为',bool(None)) print('数值0为',bool(0)) print('空字符串为',bool('')) print('空列表为',bool([])) print('空列表为',bool(list())) print('空元组为',bool(())) print('空元组为',bool(tuple())) print('空字典为',bool({})) print('空字典为',bool(dict())) print('空集合为',bool(set())) a,b = 1,2 # and同并且,全真才真,一假则假 print('————————and运算———————————') print(a==1 and b==2) #True and True --> True print(a==1 and b!=2) #True and False --> False print(a!=1 and b==2) #False and True --> False print(a!=1 and b!=2) #False and False --> False # or同或者,全假才假,一真则真 print('————————or运算———————') print(a==1 and b==2) #True and True --> True print(a==1 and b!=2) #True and False --> True print(a!=1 and b==2) #False and True --> True print(a!=1 and b!=2) #False and False --> False # not同非 print('——————not运算———————') m = True;n = False; print(not(m),not(n)) print('————————————————————in和not in运算————————————————————') print('py' in 'python') #py在python里面——>True print('n' not in 'python') #n不在python里面——>False# 赋值运算:=,+=,-=,*=,/=,//=,%= print('——— 赋值运算:=,+=,-=,*=,/=,//=,%= ————') x = 1;print(x) a1 = a2 = a3 = 2;print(a1,a2,a3) #链式赋值 b1,b2,b3 = 10,20,30;print(b1,b2,b3) #系列解包赋值 c1 = 1;c1 += 1;print(c1) # +=运算符 c2 = 10;c2 -= 2;print(c2) # -=运算符 c3 = 2;c3 *= 3;print(c3) # *=运算符 c4 = 6;c4 /= 2;print(c4) # /=运算符 c5 = 7;c5 //= 2;print(c5) # //=运算符 c6 = 7;c6 %= 2;print(c6) # %=运算符七、条件表达式
#使用条件表达式进行比较:格式:a if y else b,如果满足y则执行a,否则执行b num1 = 2 num2 = 5 print(str(num1) + '大于等于' + str(num2) if num1 >= num2 else str(num1) + '小于' + str(num2))八、循环语句的用法及函数的用法
print('——————————— for-in循环 ——————————') ## for-in循环 for f in 'python':print(f) for f1 in range(5):print(f1) for _ in range(3):print('python') # ”_“可以表示自变量 print('—————————— break函数 ——————————') ## break函数:满足就退出当前循环,进入下一个循环 for b in range(3): key = input('请输入密码:') if key=='8888': print('密码输入正确') break #满足条件,退出当前的if循环,进入下一个else循环 else: print('密码输入不正确') print('————————— continue函数 ——————————') ## continue函数:满足就退出当前循环,不在执行 for b in range(3): key = input('请输入密码:') if key!='8888': print('密码输入不正确') continue #满足条件,重复执行当前的if循环 else: print('密码输入正确') print('———————— else语句 ————————') ## else语句可与if、while、for语句搭配使用 print('———————— for-else ————————') for e1 in range(3): k1 = input('请输入密码:') if k1!='8888': print('密码输入不正确') continue #满足条件,重复执行当前的if循环 else: print('密码输入正确') else: print('您已经输入三次错误密码') print('———————— while-else —————————') e2 = 0 while e2 < 3: k2 = input('请输入密码:') if k2 == '8888': print('密码输入正确') break #满足条件,退出当前的if循环 else: print('密码输入不正确') e2 += 1 else: print('您已经输入三次错误密码') print('——————— if-else ——————————') e3 = int(input('请输入100以内的数:')) if e3 < 50: k3 = input('恭喜你,获得一次输入密码的机会,请输入你的密码:') if k3 == '8888': print('密码输入正确') else: print('密码输入不正确') else: print('抱歉,你没有获得输入密码的机会') print('—————————— range函数 ——————————') ## range函数:生成指定序列 # 第一种创建方法:range(stop),创建一个[0,stop)之间,步长为1的序列 L1 = range(10);print(L1);print(list(L1)) # 第二种创建方法:range(start,stop),创建一个[start,stop)之间,步长为1的序列 L2 = range(3,10);print(L2);print(list(L2)) # 第三种创建方法:range(start,stop,step),创建一个[start,stop)之间,步长为step的序列 L3 = range(1,20,2);print(L3);print(list(L3)) # 用in和not in判断序列中是否存在指定数 print(3 in L1,3 not in L1) print('a' in L1,'a' not in L1) print('—————————— pass函数 ——————————') ## pass函数:不做任何操作的占位符 p1 = 1;p2 = 2; if p1 >= p2:pass else:pass九、列表的创建
# 方法一:使用方括号[] L = [1,2,3,'a','name',"b","你好,mt"] print(L) # 方法二:使用内置函数list() L1 = list([1,2,3,'a','name',"b","你好,mt"]) print(L1) L2 = list(range(5)) print(L2)十、列表的查徐
### 列表的查询:列表元素的序号从0开始 print('—————————单个元素查询———————————') ## 单个元素的查询 # 方法一:查询列表中指定元素的位置 L = list(range(5,11)) print('原列表L',L) L1 = L.index(7) #查询元素为7所处的序号 print('位置',L1) #输出方法一 print(L.index(7)) #输出方法二 # 方法二:查询列表中指定位置的元素 LL = list(['a','b','c']) print('原列表LL',LL) L2 = LL[2] #查询序号为2的元素 print('元素',L2) #输出方法一 print(LL[2]) #输出方法二 ## 多个元素的查询:格式:列表名[起点:终点:步长]——>列表名[start:stop:step] print('—————————多个元素查询—————————————') L3 = [1,2,3,4,5,6] print(L3[1:4:1],'\t',L3[1:4:2]) print(L3[-4:-1:1]) #有负号则序号从右以-1开始数,此时的范围是[-4,-1),步长为1 print(L3[0:-2:1]) #有负号则序号从右以-1开始数,此时-2对应的正序为4,则范围是[0,4),步长为1 # 省略某个属性 print(L3[::]) #默认起点,则序号为0;默认终点,则为列表长度;默认步长,则为1 print(L3[:4:2]) #默认起点为0 print(L3[2::2]) #默认终点 print(L3[::2]) #默认起点和终点 #等等……十一、列表的添加
L = ['a',1] LL = [6,'a'] print('原列表L=',L,'\n列表LL=',LL) # 方法一:append函数,在列表末尾添加对象元素,对象可以是列表、元素 L.append(3);print('添加元素后,',L) #添加元素后, L=['a', 1, 3] L.append(LL);print('添加列表LL后',L) #添加列表LL后 L=['a', 1, 3, [6, 'a']] # 方法二:extend函数,在列表末尾添加元素 L.extend(LL);print('添加列表LL后',L) #添加列表LL后 L=['a', 1, 3, [6, 'a'], 6, 'a'] # 方法三:insert函数,在指定位置插入对象:格式:L.insert(位置,插入的对象) L.insert(2,2);print('插入一个元素',L) #插入一个元素 ['a', 1, 2, 3, [6, 'a'], 6, 'a'] L.insert(2,LL);print('插入一个对象',L) #插入一个对象 ['a', 1, [6, 'a'], 2, 3, [6, 'a'], 6, 'a']十二、列表的删除
# remove函数:删除指定元素 print('——————— remove函数删除 ————————————') L = list(range(7));print('原列表',L) #原列表 [0, 1, 2, 3, 4, 5, 6] L.remove(3);print('删除后',L) #删除后 [0, 1, 2, 4, 5, 6] # pop函数:删除指定位置的元素 print('——————— pop函数删除 —————————') L.pop(3);print('删除后',L) #删除后 [0, 1, 2, 5, 6] # 用空表替换 L[0:2]=[];print('替换后',L) #替换后 [2, 5, 6] # clear函数:清空列表 print('——————— clear函数删除 —————————') L.clear();print('删除后',L) #删除后 [] # del函数:删除列表后会报错十三、列表的修改
L = list(range(6));print('原列表',L) print('———————— 单个修改 ———————————') L[4] = 'a',10;print('修改后',L) #修改后 [0, 1, 2, 3, ('a', 10), 5] print('—————————— 多个修改 ———————') L[0:2] = ['a','b',9,8];print('修改后',L) #修改后 ['a', 'b', 9, 8, 2, 3, ('a', 10), 5]