当前位置:   article > 正文

Python入门到放弃(一)

Python入门到放弃(一)

介绍python和库文件管理

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 镜像源网址
永久使用:
在这里插入图片描述

Python安装

Python安装简介

Anaconda包是一个集成的包
Pycharm 一个开发工具,

开发环境介绍

交互式编程
在这里插入图片描述
cd …:往回走

:表示文件夹 tab命令会自动把文件名补全 集成开发环境:Pycharm ![在这里插入图片描述](https://img-blog.csdnimg.cn/7470cc2efc4846c78ecdc16e1a01e6f0.png) 不会有冲突,每建一个文件夹,会占用空间 ### Pycharm相关介绍 font调整字体 快捷键:Keymap **Pycharm常用有用快捷键**
快捷键 内容
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",不用做选中了

Python变量命名

变量:‘容器’
弱语言:变量声明的时候对数据类型不是很严格

  • 怎么起名?
  • 可以赋什么值?
  • 有哪些数据类型?

变量名的命名规范:

  1. 字母、数字、下划线,其他的特殊符号不行,且不能数字开头
  2. 严格区分大小写
  3. 不能使用关键字
见名之义
命名规则
驼峰式命名 getNameByLine
驼峰式 开头第一个单词全部小写,小驼峰get_name_by_line
大驼峰 python面向对象:类名,每个单词的首字母都大写FirstName LastName
关键字,常用的关键字 名字=‘zhangsan’

数据类型和类型转换

数据类型

变量的类型:

  • 数字
  • 布尔类型
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
  • int
  • float
  • string
  • boolean
  • 通过type(变量名)输出变量类型
  • 三引号:保留格式的字符串
    在这里插入图片描述
  • 布尔类型:True False
  • 主要用于开发中的判断,比如:是否登录成功
  • isLogin=True#真
  • isLogin=False#假
类型转换
print('hello')
input('请输入用户名:')#阻塞型语句
  • 1
  • 2

str---->>int
强制类型转换
变量的值是:0,‘’(空字符串)

运算符

运算符:

  • = 赋值运算符
  • 算术运算符:+ - * / % // **
  • /:除法
  • //:整除
  • %:取模去余
  • 赋值运算符:=、+=、-=、*=、/=、//=、**=、%=

比较关系运算符

关系运算符结果:

  • True
  • False

< >= <= == != is
比较的是ASCII码的码值

逻辑运算符

  • and or not
  • and 与,并且

复习和格式化输出

Pycharm使用
变量

  • 格式:变量名=值
  • 注释:单行 多行’‘’ ‘’’
  • 起名:命名规范
    值:
  • 数据类型 int float string bool
    类型转换:
  • 所有键盘输入的类型都是字符串类型的
    运算符:
  • 算术: + - * / % // **
  • 赋值: = += -= …
  • 比较: > < >= <= == != 结果:True False
  • 逻辑:and or not
输出格式化
name = '蔡徐坤'
age = 26
#我喜欢听26岁的蔡徐坤唱歌
print('我喜欢听'+str(age)+'岁的'+name+'唱歌!')
#字符串如何进行格式化
#符号:
#%s:字符串 string
#%d:整数 digit
#%f: 浮点数 float 
print('我喜欢听%d岁的%s唱歌'%(name,age))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

进制转换

  • 二进制:0,1
  • 八进制:0,1,2,3,4,5,6,7
  • 十进制:0~9
  • 十六进制:0~9 a~f
  • 十进制转二进制:10—>>二进制表示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前缀:

  • 0b:二进制
  • 0o:八进制
  • 0x:十六进制
  • 默认十进制

位运算

  • 转二进制 bin()
  • 转八进制 oct()
  • 位运算:& | ^ ~ << >>
描述 示例
&按位与运算符:参与运算的两个值,如果两个相应位都为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('很遗憾猜错了!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

‘’’
人员管理系统,功能:添加、删除、查询、修改员工信息
‘’’
pass:支撑结构、占位

#里面代码少的情况
a=10
b=30
c=1 if a>b else b
print(a,b,c)
  • 1
  • 2
  • 3
  • 4
  • 5

在Python中,转换成为布尔值时,只有0,“”,‘’,None,(),{},[]会被转换成为False,其他都会被转换成为True

while循环结构

方式:
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('猜小了,再大一点!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
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('最终平局')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

for循环语句

格式:
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)
  • 1
  • 2
  • 3
  • 4
  • 5

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('账户被锁定!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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的倍数,充值失败!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

跳出语句
break:跳出循环结构
continue:跳过本次循环,继续下一次循环
都是出现在循环中的

#不打印能被3整除
for i in range(10):
     if i%3!=0:
         print(i)
  • 1
  • 2
  • 3
  • 4
for i in range(10):
    if i%3 == 0:
       continue
    print(i)
  • 1
  • 2
  • 3
  • 4

遇到continue跳过下方循环不执行
在这里插入图片描述
‘’’
循环嵌套:
if 条件:
if 条件:
pass
else:
if 条件:
pass
while循环:
*
**




‘’’

'''
****
****
****
****
'''
n=1
while n<=4:
    print('****')
    n+=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
'''
*
**
***
****
*****
'''
n=1
while n<=4:
    print('*'*n)
    n+=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
'''
*
**
***
****
*****
'''
n=1
while n<=5:#控制行数
    m=0
    while m<n:
        print('*',end='')
        m+=1
    n+=1
    print()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
'''
*****
****
***
**
*
'''
n = 1
while n <= 5:
    m = 5
    while m > n:
        print('*', end='')
        m -= 1
    n += 1
    print()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
流程控制

条件语句:
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)#比较的是地址
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

字符串截取

在这里插入图片描述

切片
切片:字符串,列表
格式:字符串变量[start:end)
字符串变量[start:end:step] 默认是从左向右一个一个
1.步长
2.方向 step 正数 从左向右
       step 负数 从右向左
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
s='ABCDFEG'
print(s1[1:4])
print(s1[-3:])#'EFG',从-3开始到结尾
print(s1[1::2])#BDF
print(s1[::4])#AE
print(s1[6::-2])#能取到值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
字符串的常见操作:

  • 获取长度:len
  • 查找内容:find,index,rfind,rindex
  • 判断:startswith,endswith,isalpha,isalnum,isspace
  • 计算出现次数:count
  • 替换内容:replace
  • 切割字符串:split,rsplit,splitlines,partition,rpartition
  • 修改大小写:capitalize,title,upper,lower
  • 空格处理:ljust,rjust,center,lstrip,rstrip,strip
  • 字符串拼接:join
    在Python中,字符串是不可变的!所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果!
字符串操作
'''
字符串操作
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)
会报错
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
'''
 - 判断:startswith,endswith,isalpha,isalnum,isspace
 返回值都是布尔类型(True,False)
'''
s='aedwekfjwfj.gif'
result=s.startswith('ae')#判断是否是以XXX
print(result)
end1=s.endswith('gif')
print(end1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
'''
模拟文件上传,见怕输入上传文件的名称,判断文件名是否大于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('文件格式错误,上传失败!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
#字母和数字的组合
import random
filename=''
s='qwertyuiopasdfghjklzxcvbnm1234567890'
for i in range(6):
    index=random.randint(0,len
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/658077
推荐阅读
相关标签
  

闽ICP备14008679号