python从入门到精通

第一单元 python准备

1.1 python环境的安装

1.打开网页

Welcome to Python.orgThe official home of the Python Programming Languageicon-default.png?t=N7T8https://www.python.org/

2.选择下载自己的系统

3.进行安装

4.测试是否安装成功

  • 打开命令管理器成功就显示版本
  • 失败就报错(没有选择add python to path)

5.手动配置python

  • 点开属性

 

  • 选择高级系统 > 环境变量 > path

  • 根据自己的路径 添加path

  • 最后在终端里面测试是否安装成功

1.2 PyCharm的下载

1.下载点击安装

2.编辑设置

1.3 PIP的使用

1.简介

pip是一个现代的,通用的python包管理工具。提供了对python包的查找,下载,安装,卸载的功能,便于我们对python的资源包进行管理。

2.安装

在安装python时,会自动下载并且安装。

3.配置

  • 在终端里面输入pip -V 可以查看pip版本。

  • 如果出现一下,再次去环境变量新建path(上文提到)

4.使用pip管理python包

  • pip install <包名>  安装指定的包
  • pip uninstall <包名>  删除指定的包
  • pip list   显示已经安装的包
  • pip freeze  显示已经安装的包,并且以指定的格式显示

5.修改pip下载源

运行pip install命令会从网站上下载指定的python包,默认从国外网站下载,速度会很慢。

格式:pip install 包名 -i 国内源地址

国内的常用pip下载源:

镜像站名    网址
阿里云开源镜像站    http://mirrors.aliyun.com/
网易开源镜像站    http://mirrors.163.com/
搜狐开源镜像    http://mirrors.sohu.com/
浙江大学开源镜像站    http://mirrors.zju.edu.cn/
清华大学开源软件镜像站    https://mirrors.tuna.tsinghua.edu.cn/
中国科学技术大学    http://mirrors.ustc.edu.cn/
腾讯开源镜像站    http://mirrors.cloud.tencent.com/pypi/simple
豆瓣开源镜像站    http://pypi.douban.com/simple/

1.4运行python程序

1.终端运行

  • 在python解释器书写代码(python 路径)

  • 安装ipython

2.使用PyCharm

第二单元 Python

2.1注释

1.单行注释

"  以#开头  "

2.多行注释

"  以...开头,以 ...结尾  "

2.2 Python变量

1.变量命名的规则

  • 变量名必须以字母或下划线字符开头

  • 变量名不能以数字开头

  • 变量名称只能包含字母数字字符和下划线(Az、0-9 和 _ )

  • 变量名区分大小写(age、Age和AGE是三个不同的变量)

2.变量的格式:

变量的名字 = 变量的值

3.变量的类型

4.查看数据类型(type(变量名))

5.类型转换

print(int("123"))#123 将字符串转换成为整数
print(int(123.78))#123 将浮点数转换成为懿数
print(int(True))#1布尔值True转换成为整数是 1print(int(False))#0 布尔值False转换成为整数是 0

注意:

123.456 和 12ab 字符串,都包含非法字符,不能被转换成为整数,会报错print(int("123.456"))print(int("12ab"))

2.3运算符

1.算法运算符

注意:


1.混合运算时,优先级顺序为:**高于|*/%//高于|+-,为了避免歧义,建议使用()来处理运
算符优先级。
2.不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
3.字符串的加法,是进行拼接的
4.字符串加法两边都是字符串才可以进行
5.字符串的乘法,是进行多次重复

2.赋值运算符

# 单个变量赋值
>>> num = 10
>>> num=10


#同时为多个变量赋值(使用等号连接)
>>> a = b = 4
>>> a=4 ,b=4

#多代变量赋值(使用逗号分隔)
>>> num1 , f1, str1 =100, 3.14, "hello"
>>> num1=100 , f1=3.14 ,str=“hello”

3.复合赋值运算符

4.比较运算符

5.逻辑运算符

2.4输入输出

1.输出(print(' '))

  • 普通输出
    print('hello')

  • 格式输出
    # %s 代表的是字符串   %d代表的是数值
    
    age =18
    
    name ='红浪漫晶哥'
    
    print('我的名字是%s,我的年龄是%d'  %(name,age))

2.输入(input(' '))

password = input('请输入您的银行卡密码')
print('我的密码是:%s'% password)


name = input('请输入您的名字")
print('我的名字是:%s'% name)

2.5流程控制语句

1.if语句

if 要判断的条件:
条件成立时,要做的事情
gender = True

if gender == True:

print('你是一个男性')

2. if-else语句

if 条件:
满足条件时的操作
else:
不满足条件时的操作
age = 18

if age >= 18:

print("我可以去红浪漫了")

else:

print(“未成年,不允许去”)

3.elif语句

if xxx1:

事情1

elif xxx2:

事情2

elif xxx3:

事情3
score = int(input('请输入您的成绩'))

if score >= 90:

print('优秀')

elif score >= 80

print('良好')

elif score >= 70

print('中等")

elif score >= 60

print('及格')

4.for循环

一个一个的输出 叫做循环 也叫做遍历

 for循环

格式:

for 变量 in 要遍历的数据

方法体
  • 字符串
s ='china’

for i in s:

print(i)

>>> c  h  i  n  a

  • rang(5)
 range(5)0~4左闭右开区间(0,5)

for i in range(5)

print(i)

>>> 0 1 2 3 4

  • range(1,6)
range(1,6) range(起始值,结束值)

# 左闭右开区间

for i in range(1,6)

print(i)

>>> 1 2 3 4 5

  • range(1,10,3)
range(1,10,3)

#range(起始值,结束值,步长) 左闭右开区间

 for i in range(1,10,3)

 print(i)

>>> 1 4  7  10

2.6数据类型高级

1.字符串高级

字符串的常见操作包括:

1.获取长度:len
              len函数可以获取字符串的长度

2.查找内容:find
              查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.

3.判断:startswith,endswith
                          判断字符串是不是以谁谁谁开头/结尾

4.计算出现次数:count
                    返回 str在start和end之间 在 mystr里面出现的次数

5.替换内容:replace
                  替换字符串中指定的内容,如果指定次数count,则替换不会超过count次

6.切割字符串:split
                  通过参数的内容切割字符串

7.修改大小写:upper,ower
                      将字符串中的大小写互换

8.空格处理:strip
                 去空格

9.字符串拼接:join
                 字符串拼接


length:  s='china'  
         print(len(s))  >>>5

find:    s1='china'
          print(s1.find('a'))  >>>

2.列表高级

char_list =['a','c','d']

char_list.insert(1,'b')

print(char_list)

>>>['a','b','c','d']
  • 添加元素(append,insert,extend)

append:追加,在列表的最后添加数据

food_list =['铁锅炖大鹅','酸菜五花肉’]

food_list.append('小鸡炖蘑菇')

print(food_list)

>>>['铁锅炖大鹅' ,'酸菜五花肉' ,'小鸡炖蘑菇']

insert:插入,index的值就是你想插入的值的下标

char_list =['a','c','d']

char_list.insert(1.'b')

print(char_list)

>>>['a','b','c','d']

extend:通过extend可以将另一个列表中的元素逐一添加到列表中

a =['a''b','c']

b = ['d','e','f']

a.extend(b)

print(a) 

print(b)

>>> ['a''b','c','d','e','f']   把b的内容添加到a里面
   
    ['d','e','f'] b的内容保持不变

  • 修改元素
city_list =['北京','上海'"深圳''武汉"'西安']

print(city_ list)

city_list[4]='大连'

print(city_list)

>>>['北京','上海'"深圳''武汉"'西安']
   
   ['北京','上海'"深圳''武汉"'大连']

  • 查改元素( in , not in )
food list =['锅包肉"'汆白肉"'东北乱炖"]

food = input('请输入您想吃的食物')

if food in food list:

print('在')

else:

print('不在,一边拉去')

  • 删除元素(del,pop,remove)

del:根据下标来删除元素

a_list=[1,2,3,4,5]

print(a_list)

del a list[2]

print(a list)

>>> [1,2,3,4,5]
    
    [1,2,4,5]

pop:是删除最后一个元素

b_list = [1,2,3,4,5]

print(b_list)

b_list.pop()

print(b_list)

>>> [1,2,3,4,5]

    [1,2,3,4]

remove:根据元素直接删除列表中的数据

c_list =[1,2,3,4,5]

print(c_list)

c_list.remove(3)

print(c_list)

>>> [1,2,3,4,5]
    
    [1,2,4,5]

3.元组高级

  •  元组和列表的区别

  • 元组用(),列表用 [ ]
  •  元组中的元素是不可以被修改的,列表中的元素是可以被修改的
  • 元组中只有一个元素时,它的类型为整数 
a_tuple=(5)

print(type(a_tuple))

>>> int
  • 定义只有一个元素的元组,需要在唯一元素后加逗号
    b_tuple=(5,)
    
    print(type(b))
    
    >>> tuple

4.切片 

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]

  • 注意:选取的区间从“起始“位开始,到“结束“位的前一位结束(不包含结束位本身),步长表示选取间隔。索引是通过下标取某一个元素,切片是通过下标去某一个元素。
s='hello world'

print ( s[4] )    >>> hel          #[0-4)左闭右开

print ( s[3:7] )     >>> lowo      #[3-7)

print ( s[1:] )     >>> lloworld   #1以后的

print ( s[:4] )      >>> hell      #4之前的

print ( s[1:5:2] )      >>> elw    #[1-5)步长为2

5.字典高级

  • 查看元素
person ={'name':'jack','age':'21'}

第一种方法:

print(person['name'])

print(person['age'])

第二种方法:

print(person.get('name'))

print(person.get('age'))

  • 修改元素
person ={'name':'jack','age':'21'}

person['name']='lucy'

  • 添加元素
person ={'name':'jack','age':'21'}

person['sex']='男'

  • 删除元素
person ={'name':'jack','age':'21'}

del(删除结构,全部都没有):

del person['name']

clear(清空内容,没有数据):

person.clear()

  • 遍历
(1)通历字典的key

for key in person.keys():

print(key)

(2)遍历字典的value

for value in person.values():

print(value)

(3)返历字典的key和value

for key,value in person.items():

print(key,value)

(4)遍历字典的项/元素

for item in person.items():

print(item)

2.7函数

1.定义函数

格式:
    
     def 函数名():

               方法体

举例:
 
     def f1():

             print('hello')

2.调用函数

直接调用函数名

 def f1():

             print('hello')



 f1()

3.函数参数

def f1(a,b):

      c=a+b

      print(c)

f1(2,3)

调用的参数是实参,定义的参数是形参

4.函数返回值

def f1(a,b):
       
         c=a+b
        
         return c

 num=f1(2,3)

 print(num)

2.8文件

1.文件的打开和关闭

  • 文件的打开(可以打开已有的文件,也可以创建一个新文件)
格式:
  
    open(文件的路径,模式)

文件名:已存在的话就打开,没有就直接创建后再打开(是在编辑器里面创建)
模式:主要是w(可写,write)r(可读,read)

举例:

1.文件创建
  
    open('a.txt','w')

2.文件夹里面的文件创建
 
    open('demo/a.txt','w')

3.给文件里面写内容

     f1=open('a.txt','w')

     f1.write('hello')

注意:

   可以创建一个文件或者文件夹里面的文件,文件夹需要手动在编辑器里面创建
  • 文件的关闭
f1=open('a.txt','w')

     f1.write('hello')

f1.close()

2.文件的读写

  • 文件的写入
1.
f1=open('a.txt','w')

     f1.write('hello')

f1.close()

结果是:hello

2.
f1=open('a.txt','w')

     f1.write('hello'*5)

f1.close()

结果是:5行的hello
但再次刷新重新运行代码时,a.txt里面也还是5行代码

3.f1=open('a.txt','a')

     f1.write('hello'*5)

f1.close()

结果是:5行的hello
但再次刷新重新运行后,a.txt里面就会一直追加5行的hello,因为‘a’是append追加
  • 文件的读取(在控制台里面显示)
1.f1=open('a.txt','r')

  content=f1.read()

  print(content)

read:按字节读取

2.f1=open('a.txt','r')

  content=f1.readline()

  print(content)

readline:一行一行读取,但效率低

3.f1=open('a.txt','r')

  content=f1.readlines()

  print(content)

readlines:按行读取,但会以列表的形式返回[''],

3.序列化和反序列化

序列化:一个对象(列表,元组,字典)要写入一个文件里,需要将对象序列化,才可以写入文件里。就是将内存中的数据转换为字节序列,保存在文件里。

对象—>字节序列—>序列化

 字节序列 —>对象—>反序列化

f1=open('a.txt','w')

a_list=['a','b'}

f1.write(a_list)

默认情况下,直接将对象写入文件里会报错
  • 序列化

dumps

f1=open('a.txt','w')

a_list=['a','b'}

import json     #导入json模块到该文件内

a=json.dumps(a_list)   #序列化,将python对象变成字符串的形式

f1.write(a)  #将a写入文件里

f1.close()

dump

f1=open('a.txt','w')

a_list=['a','b'}

import json

json.dump(a_list,f1)

f1.close()
  • 反序列化

loads

f1=open('a.txt','r')

content=f1.read()

import json

result=json.loads(content)

print('result')

load

f1=open('a.txt','r')

import json
 
result=json.load(f1)

print(result)

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值