python基础

Python

  • python的安装

1.安装python环境

下载地址:https://www.python.org

2.pthon的包管理工具的安装

https://pypi.python.org/pypi/setuptools

如果下载的是一个可执行文件,双击执行,如果下载的是一个压缩包,解压,执行目录当中的setup.py

Python setup.py install

当setuptools安装完成,我们的python目录下就会自动出现scripts目录,我们需要把该路径同样加到环境变量中。

在path路径中配置完环境变量之后,在cmd中,用easy_install 安装pip。cmd输入如下:

easy_install pip

到此为止python包管理工具安装完成

 

运行python可用:IDLE、windows命令行

写脚本可在记事本、notepapad++、sublimeTest3

python 常用目录

1)lib里面存放着当前版本的python所有模块

lib/site-packages存放着所有的第三方模块

2)Doc里面存放着当前python的手册

3)scripts默认是没有的

我们安装完python环境通常会部署easy_install和pip这两个python包管理工具在这两个工具部署完后才能之后,我们就会出现scripts目录,该目录存放着模块的环境变量

3.安装pycharm

进入https://www.jetbrains.com/pycharm 下载pycharm Professional Edition然后百度安装步骤安装,激活码也百度

进入cmd

cd 到python 环境

pip install

pip install --upgrade pip 升级pip

pip uninstall xxx 删除某个模块

 

Lamba

常用网站:

https://pythontutor.com/visualize.html#mode=edit

https://zhuanlan.zhihu.com/p/32456573

 

常用工具:atom

二、社区

pypi :第三方库的管理网站

https://pypi.python.org

github:

https://github.com

StackOverFlow

Oschina

Pycharm的用法以及快捷键

1.shift+F10 运行

2.Tab 参数提示

3.shift+F10 运行代码

4.shift+F9 调试代码

5.调试代码:单步调试F7

6.F8单步调试,会把函数当成一段代码

7.跳出代码:shift+F8

8.CTRL+Q:

9.多行注释的快捷键选中然后CTRL+/

10.Shift+F9进入调试:点击下面的Console可以看见条件的输出信息

11.如果代码写的太乱,可以用pycharm的CTRL+ALT+L格式化代码或者菜单CODE->Reformate Code,不光能格式化我们写的代码,还可以格式化json文件便于我们查看

12.如果我们写一段代码使用一个陌生的模块,我们想看下这个方法怎么用,可以点击这个函数,CTRL+B或者CTRL选中这个函数点击就进入这个方法

 

恢复初始设置

新建和打开python项目

如果右上角的运行按钮是灰色的,点击.py文件右键Run ‘hello’

设置项目的python的版本

二、.Python的基础语法

基础数据结构

List

Dict

如何统计字母出现的

reverse=True 反转 从大到小

2.网络协议

机器之间是怎么聊天的?

IP :寻址

URL:协议头://域名:端口/资源地址?参数#锚点

Method

Get和post区别

协议头

 

 

  • python 基础

1)python 交互式环境

cmd 输入python回车打程序,如果想退出python,输入exit()、回车。

创建文件名.py不要已数字开头

2)python 网上编程

https://repl.it/languages/python3

 

1.基础

四则运算

加(+)、减(-)、乘(*)、除(/)、整除(//)、幂(**)

特殊字符:

\ 转义符

\r 回车

\n 换行

\t  tab键

\f 换页

Type 获取变量的类型

类型转换

Int/str=》float

Float/str=》int

Int/float=》str

Bool()

流程控制

条件语句:

http://pythontutor.com/visualize.html#mode=edit

http://pythontutor.com/visualize.html#mode=display

if condition_1:

  code1

elif:

  code2

else:

 code3

循环语句

While condition:

Code

防止换行

加上end=‘’

Random 包含左右两个值
import random

2.列表

Help(list)查看这个函数

每个元素之间用逗号分隔

可以包含任意数据类型

有序

编号,可以通过编号访问

  从左到右index从0开始,从右往左访问index从-1开始,访问元素的索引必须存在,不存在报错

可遍历

 

可追加/可插入

可删除/可以弹出

可修改

 

长度不定

 

Range 生成一个可interable(可迭代)的对象

Range 倒序的整数数列

len()

max()

min()

在于不在用 in \ not in

del nums[index]

 

list的切片

按照规则获取list一部分元素生成一个新的list

list[strat,stop,step]

  1. 复制数组
  2. 引用:临时数组发生改变原来数组也发生改变
  3. 利用切片复制数组的话原来数组不发生改变
  4. 反转list list[::-1]

  1. 获取奇数偶数

Nums[1::2]

  1. 可以通过切片来增删改原来的数组

列表的函数

append 添加元素到list最右侧

clear 清空list中的元素

copy 复制list中的所有元素到新的list中并返回

count 计算list中存在相同元素的数量

extend 将一公分可遍历数据中的所有元素追加到list后

index 获取元素在list中的位置

insert 在list指定位置添加元素

pop 弹出list中指定位置的元素(默认最右侧),根据索引来移除的并返回这个元素

remove 移除list中指定的元素

reverse对list中元素进行反转

sort对list中元素进行排序

查看数据类型有哪些函数方法:dir(list)

查看具体函数的用法:help(list.append)

 

 

append

extend

 

任何数据类型

可遍历

 

 

 

 

 

 

 

 

 

 

队列

先进先出

list.append+list.pop(0)

堆栈

先进后出

List.append+list.pop

tuple

不可变的

字符串

   字符串是有序的数据集,通过字符串[索引]的方式访问字符串中的元素

   索引编号

   0~len(str)-1

-1~-n

字符串是不能修改的

 

 

变量的输入:input函数实现键盘的输入

 

name="shina"
print("Please input name: %s " %name)


num=1

print("Please input number: %06d " %num)

 

If语句

代码缩进可以选中代码,按住TAB键

函数:

写个函数怎么给函数增加注释

模块名

列表

向列表的末尾增加数据

 

删除列表的数据

列表的循环

元组

字典

 

 

字符串:

 

字符串的应用

 

1.爬虫的数据输出的文本使对其

 

切片

字典不支持切片因为是无序的,

 

倒序索引:最后一个字符是-1,步长如果是-1,表示从右向左切片

 

接收返回值是元组的方法:

 

交换两个变量

 

上述代码的运输结果是

 

Print(gl_num)打印的值为9

Print(gl_list)打印的值为[1,2,3,1,2,3]

 

因为glnum是数字类型是不可变类型

因为gl_list是list类型是可变类型,被修改了

 

class HouseItem:

   
def __init__(self,name,area):

       
self.name=name
       
self.area=area

   
def __str__(self):

       
return " [%s] 占地面积 %.2f" %(self.name,self.area)

bed = HouseItem(
"席梦思",4)
chest = HouseItem(
"衣柜",2)
table = HouseItem(
"餐桌",1.5)

print(bed)
print(chest)
print(table)

 

 

如果在一个文件夹定义两个类,两个类中之间隔两行

class HouseItem:

   
def __init__(self, name, area):
       
"""

       
:param name: 家具名称
       
:param area: 占地面积
        """
       
self.name = name
       
self.area = area

   
def __str__(self):
       
return "[%s] 占地面积 %.2f" % (self.name, self.area)


class House:

   
def __init__(self, house_type, area):
       
"""

       
:param house_type: 户型
       
:param area: 总面积
        """
       
self.house_type = house_type
       
self.area = area

       
# 剩余面积默认和总面积一致
       
self.free_area = area
       
# 默认没有任何的家具
       
self.item_list = []

   
def __str__(self):
       
# Python 能够自动的将一对括号内部的代码连接在一起
       
return ("户型:%s\n总面积:%.2f[剩余:%.2f]\n家具:%s"
               
% (self.house_type, self.area,
                  
self.free_area, self.item_list))

   
def add_item(self, item):

       
print("要添加 %s" % item)
       
# 1. 判断家具面积是否大于剩余面积
       
if item.area > self.free_area:
           
print("%s 的面积太大,不能添加到房子中" % item.name)

           
return

       
# 2. 将家具的名称追加到名称列表中
       
self.item_list.append(item.name)

        # 3. 计算剩余面积
       
self.free_area -= item.area



# 1. 创建家具
bed = HouseItem("席梦思", 4)
chest = HouseItem(
"衣柜", 2)
table = HouseItem(
"餐桌", 1.5)
# 2. 创建房子对象
my_home = House("两室一厅", 60)

my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)


print(my_home)



调用父类的方法:

 

Super().调用父类的方法

 

 

 

 

如果继承的多个父类方法重名,会先继承前面的类

例如:C(A,B):就输出A中的方法,如果是C(B:A) 就输出B中的方法

class Dog(object):

   
def __init__(self,name):
       
self.name=name

   
def game(self):
       
print("%s 蹦蹦跳跳玩耍..." % self.name)

class XiaoTianQuan(Dog):

   
def game(self):
       
print(" %s 飞到天上玩耍" % self.name)  # 在继承时会继承父类的所有属性

class Person(object):

    
def __init__(self, name):
        
self.name = name

    
def game_with_dog(self,dog):
        
print(" %s 和 %s 快乐的玩耍" % (self.name,dog.name))

         dog.game()


# 创建狗的对象
# wangcai = Dog("旺财")

wangcai = XiaoTianQuan("飞上天的旺财")

#创建人的对象

xiaoming = Person("小明")

xiaoming.game_with_dog(wangcai)

class Game(object):

   
# 历史最高分
   
top_score = 100
   
def __init__(self, player_name):
       
self.player_name = player_name
        Game.top_score +=
1

   
@staticmethod
   
def show_help():
       
print("游戏的说明")

   
@classmethod
   
def show_top_score(cls):
       
print(" 游戏的最高为 %d" % (cls.top_score))

   
def start_game(self):
       
print(" %s 开始玩游戏" % self.player_name)

xiaoming=Game(
"小明")
xiaoming.start_game()
Game.show_top_score()

注:定义是不是静态方法:静态方法既不要访问类属性又不要访问对象属性

 

try:

    num =
int(input("请输入整数:"))
    result =
8/num
   
print(result)
except ZeroDivisionError:
   
print("除0错误")
except ValueError:
   
print("请输入正确的整数")

 

。。

再次调用read方法,第一次读取文件read已经把指针移动到末尾了,所以读取不到任何信息

with open(file_path,"w",encoding="utf-8") as f:

以上这种写法,可以自动关闭file文件

 

 

Python2 只需要在首行加入如下注释就可以使用中文

 

 

 

 

                                 爬虫

Django

创建项目

django-admin startproject message

创建app

python manage.py startapp online

启用online app

添加online app配置到messages/settings.py

online 当初创建app的名称

 

创建online app urls映射文件

在online 中创建一个urls.py文件

写入:

然后到message 中的urls中

MTV

M Model 进行业务逻辑判断和数据存取

T模板 Template

将数据展示给用户

View 试图

将用户请求数据传递给Model

将Model返回的数据传递给Template

URLS

用于配置url和View处理对应关系

注:url都使用/结尾配置

ORM 关系对象映射

用来把对象映射到基于SQL的关系模型数据库结构中去

在具体的操作实体对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作实体对象的属性和方法

 

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值