赞
踩
python是解释型语言
Python的特点:简单、易学、速度快、免费开源、高层语言、可移植性、解释性、面向对象(也支持面向过程)、可扩展性、可嵌入性、丰富的库、规范的代码
在cmd中退出python,输入exit()或ctrl+Z退出
搜索“国内镜像源”:pip install -i https:…
python:
安装python:
1.python解释器
2.pip包管理器,管理的是扩展的一些库文件。(放在Lib/site-packages)
3.python的标准库:Lib
pip包管理器:
安装一个库文件:pip install 库的名字
默认是去官方国外网站,速度比较慢
临时使用:pip install 库的名字 -i 镜像源网址
永久使用:
Anaconda包是一个集成的包
Pycharm 一个开发工具,
交互式编程
cd …:往回走
快捷键 | 内容 |
---|---|
shift+enter | 添加一行 |
ctrl+/ | 行注释 |
ctrl+shift+/ | 块注释 |
Tab/Shift+Tab | 缩进、不缩进当前行 |
Ctrl+D | 复制选定的区域或行 |
Ctrl+Home | 第一行,Crtl+End最后一行 |
ctrl+g | 弹出一个框,输入要跳的行 |
ctrl+y | 删除 |
ctrl+d | 行的复制 |
Python Interpreter | 解释器 |
注释:
1.不让解释器执行注释那句话
2.代码说明
注释的种类
1.单行注释
2.多行注释
‘’‘(块注释:crtl+shift+/)
函数作用
函数的参数
函数返回值
‘’’
#格式化
Python PEP8编码规范
看到波浪线是灰色就是"crtl+Alt+L"
删除某行"ctrl+D",不用做选中了
变量:‘容器’
弱语言:变量声明的时候对数据类型不是很严格
变量名的命名规范:
命名规则 | |
---|---|
驼峰式命名 | getNameByLine |
驼峰式 | 开头第一个单词全部小写,小驼峰get_name_by_line |
大驼峰 | python面向对象:类名,每个单词的首字母都大写FirstName LastName |
关键字,常用的关键字 | 名字=‘zhangsan’ |
变量的类型:
print('hello')
input('请输入用户名:')#阻塞型语句
str---->>int
强制类型转换
变量的值是:0,‘’(空字符串)
运算符:
关系运算符结果:
< >= <= == != is
比较的是ASCII码的码值
Pycharm使用
变量
name = '蔡徐坤'
age = 26
#我喜欢听26岁的蔡徐坤唱歌
print('我喜欢听'+str(age)+'岁的'+name+'唱歌!')
#字符串如何进行格式化
#符号:
#%s:字符串 string
#%d:整数 digit
#%f: 浮点数 float
print('我喜欢听%d岁的%s唱歌'%(name,age))
前缀:
描述 | 示例 |
---|---|
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a&b)输出结果为12,二进制解释:00001100 |
按位或运算 | :只要对应的二哥二进位有一个为1时,结果位 |
二进制的负数表示
原码 0110
反码 1001
补码 反码+1
已知二进制的负数(判断是否是)
& / ^ ~
<<(左移) >>(右移)
总结:
1.算术运算符
2.赋值运算符 = += -=
3.比较运算符 > < == != …
4.逻辑运算符 and or not
5.位运算 & | ^ ~ << >> -7负数的二进制
6.运算符的优先级()
条件语句:
if
if … else
if … elif … else
条件:
运算符构成
‘’’
if 条件:
条件成立要执行的语句
‘’’
import random
ran=random.randint(1,10)
guess=int(input('请输入你猜的整数:'))
if ran==guess:
print('恭喜猜对了!')
else:
print('很遗憾猜错了!')
‘’’
人员管理系统,功能:添加、删除、查询、修改员工信息
‘’’
pass:支撑结构、占位
#里面代码少的情况
a=10
b=30
c=1 if a>b else b
print(a,b,c)
在Python中,转换成为布尔值时,只有0,“”,‘’,None,(),{},[]会被转换成为False,其他都会被转换成为True
方式:
1.while
2.for
while格式:
if 条件
bool类型的条件
while循环结束条件
#初始值 n=1 #结束条件 while n>10: print('------------->n=%d'%n) n+=1 ``` ```python ''' 产生随机数 可以猜多次,直到猜对为止,如果猜错了适当给出提示 1.统计猜了几次 2.如果1次就中,赶快去买彩票,运气爆棚 2-5次,猜对了,运气还可以 6次以上,猜对了,运气一般 ''' import random ran=random.randint(1,50) count=0 #循环猜多次 while True: guess=int(input('请才一个数字:')) count+=1 if guess==ran: if count==1: print('1次就中,赶快去买彩票,运气爆棚') elif 2<=count<=5: print('猜对了,运气还可以!') else: print('猜对了,运气一般') # print('恭喜猜对了!') break elif guess>ran: print('猜大了,再小一点!') else: print('猜小了,再大一点!')
import random n=1 #计数 p_count=0 m_count=0 while n<=3: ran=random.randint(0,2) guess=int(input('请输入:剪刀(0) 石头(1) 布(2)\n')) #比较判断 if (guess==0 and ran==2) or (guess==1 and ran==0) or (guess==2 and ran==1): print('我赢了!!!') p_count+=1 elif ran==0 and guess==2 or ran==1 and guess==0 or ran==2 and guess==1: print('~~~本轮机器赢了~~~') m_count+=1 else: print('本轮平局!') #n的变化 n+=1 if p_count>m_count: print('最终人获胜了!') elif p_count<m_count: print('机器最终获胜') else: print('最终平局')
格式:
for 变量名 in range(n):
循环体中的内容
#1~10数字打印
range(n):默认从0开始数值到n-1结束
range(start,stop):[start,stop)
range(start,stop,step):默认从start(包含)开始取值到stop(n-1)结束
#1到50的累加和
sum=0
for i in range(1,51):
sum+=i
print(sum)
for else结构
for i in range(n):
循环体
else:
如果上面的for循环0~n-1没有出现中断
for i in range(3):
#提示输入用户名和密码
username=input('用户名:')
password=input('密码:')
#判断输入的是否正确:admin 1234
if username=='admin' and password=='1234':
print('用户登录成功!')
break
print('用户名或密码错误')
else:
print('账户被锁定!')
while…else
for…else
注意else的特点:不被中断则执行,否则不执行
‘’’
for i in range(n):#肯定是有固定次数的
pass
while 条件:#1.固定次数的循环 2.不确定的循环
pass
while True:
pass
‘’’
掷骰子
#掷骰子 # 两个:1-6 # 1.玩游戏要有金币,不能玩游戏 # 2.玩游戏赠金币,充值获取金币 # 3.10元的倍数:20个金币 # 4.玩游戏消耗5个金币 # 5.猜大小:猜对 鼓励金币2枚 猜错没有奖励 超出6点以上认为是大,否则是小 #6.游戏结束:1.主动退出 2.没有金币退出 # 7.只要退出则打印金币数,共玩了几局 #金币数 import random count = 0 coins=0 #计数器 if coins<5: #提示充值 print('金币不足') while True: money = int(input('请输入金额:')) #10的倍数,20个金币 if money%10==0: coins+=money//10*20 print('充值成功!当前金币有%d个'%coins) # 开启游戏之旅 print('~~~~~~开启游戏之旅~~~~~~') answer=input('是否开始游戏(y/n)?') while coins>5 and answer=='y': # 扣金币 coins-=5 #赠送金币 coins+=1 #产生两枚随机的骰子数 ran1=random.randint(1,6) ran2=random.randint(1,6) #猜大小 guess=input('洗牌完毕,请猜大小:') #判断比较 if guess=='大' and ran1+ran2>6 or guess=='小' and ran1+ran2<=6: print('恭喜猜对了,你赢了!') coins+=2 else: print('很遗憾,猜错了哦!') #玩的次数 count+=1 answer = input('是否继续游戏(y/n)?') #打印 次数 金币数 print('共玩了%d次,剩余金币:%d'%(count,coins)) break else: print('不是10的倍数,充值失败!')
跳出语句
break:跳出循环结构
continue:跳过本次循环,继续下一次循环
都是出现在循环中的
#不打印能被3整除
for i in range(10):
if i%3!=0:
print(i)
for i in range(10):
if i%3 == 0:
continue
print(i)
遇到continue跳过下方循环不执行
‘’’
循环嵌套:
if 条件:
if 条件:
pass
else:
if 条件:
pass
while循环:
*
**
‘’’
'''
****
****
****
****
'''
n=1
while n<=4:
print('****')
n+=1
'''
*
**
***
****
*****
'''
n=1
while n<=4:
print('*'*n)
n+=1
'''
*
**
***
****
*****
'''
n=1
while n<=5:#控制行数
m=0
while m<n:
print('*',end='')
m+=1
n+=1
print()
'''
*****
****
***
**
*
'''
n = 1
while n <= 5:
m = 5
while m > n:
print('*', end='')
m -= 1
n += 1
print()
条件语句:
if 条件:
pass
else:
pass
嵌套语句
循环语句:
while:1.初始值 2.条件(结束) 3.变量改变
while True:
pass
while True:
…
break
for i in range(n):
while n<=5:#外层控制行数
…
while m<n:
print('‘,end=’ ')#内层控制的是打印
print()
python中字符串的格式
输入:input
输出:print
s1='hello'
s2=s1
s3='hello'
print(s1,s2,s3)#hello hello hello
print(id(s1),id(s2),id(s3))#相同
print(s1 is s4)#比较的是地址
切片:字符串,列表
格式:字符串变量[start:end)
字符串变量[start:end:step] 默认是从左向右一个一个
1.步长
2.方向 step 正数 从左向右
step 负数 从右向左
s='ABCDFEG'
print(s1[1:4])
print(s1[-3:])#'EFG',从-3开始到结尾
print(s1[1::2])#BDF
print(s1[::4])#AE
print(s1[6::-2])#能取到值
字符串的常见操作:
''' 字符串操作 find:从左向右查找,只要遇到一个符合要求的则返回位置,如果没有找到任何符合要求的则返回-1 rfind:从右向左查找 count:统计指定字符的个数 index与find的区别:index也是表示查找,但是如果找不到,会返回报错 ''' path='https://www.baidu.com/img/dong_e70247ce4b0a3e5ba73e8b3b05429d84.gif' #find,index,rfind,rindex #1.查找里面的字符串 i=path.find('_') print(i) image_name=path[i+1:] print(image_name) #2.找到后缀 #rfind:right find i = path.rfind('.') zhui=path[i:] print(zhui) #3.找到字符串中有几个'.' #count计算出现次数 n=path.count('.') print(n) ''' i=path.index('#$') print(i) 会报错 '''
'''
- 判断:startswith,endswith,isalpha,isalnum,isspace
返回值都是布尔类型(True,False)
'''
s='aedwekfjwfj.gif'
result=s.startswith('ae')#判断是否是以XXX
print(result)
end1=s.endswith('gif')
print(end1)
''' 模拟文件上传,见怕输入上传文件的名称,判断文件名是否大于6位以上,扩展名是否是::jpg,gif,png格式 如果不是则提示上传失败,如果名字不满足条件,而扩展名满足条件则随机生成一个6位数字组成的文件名,打印成功上传xxxx.png 判断名字 ''' import random file=input('输入文件全称:') #判断扩展名 if file.endswith('jpg') or file.endswith('gif') or file.endswith('png'): #判断文件的名字 i=file.rfind('.') name=file[:i] if len(name)<6: #重新构建名字 n=random.randint(100000,999999) file=str(n)+file[i:] print('成功上传%s文件'%file) else: print('文件格式错误,上传失败!')
#字母和数字的组合
import random
filename=''
s='qwertyuiopasdfghjklzxcvbnm1234567890'
for i in range(6):
index=random.randint(0,len
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。