python

1.1 python

1.1.1 关键字

一. 注释
单行注释 #
多行注释 ''' 三个引号,可以是三个单引号也可以是三个双引号 '''
二.print
可通过逗号间隔输出多个量

print("HELLOWORLD","helloworld","hello world")
print("helloworld") 
a="hello world"
print(a)

python中print在后面自动添加的为换行,因此当你不需要换行时,加上,end=" "
三.input,del
input 将程序外部的变量读取到程序中

a=''hello world"
del a
a=input("请输入消息:")
print(a)

当不需要变量a时可以删除a,以防占用空间

1.2.1 标识符与数据类型

一.关键字的命名

#查找关键字 
import keyword
print(keyword.kwlist)

二.python的数据类型


list 可修改
touple 不可修改
set 不可重复

1.2.2 数据类型

一. 数字类型与运算符
int 整形
float 浮点
complex 复数

#获取数据类型
a=100
print(type(a))
# ** 求幂 (2的三次方)
print(2**3)
# // 取整
print(23//8)

二进制运算:二进制比对后得到的二进制值
eg:根据二进制判断 根据位去与有一个为0则该值就是0

二.字符串str
1.字符串连接
2.字符串重复
3.获取字符串中的字符
4.截取字符串

msg="hello"
msg2="world"
#1.字符串连接
print(msg+msg2)
#2.字符串重复
#将msg重复三遍
print(msg*3)
print(msg+msg+msg)
#3.获取字符串中的字符
#索引去获取字符串中的字符
print(msg[1])
#4.截取字符串
开始结束为左闭右开 从下标2截取到3 同样可以截取负数 若为空则从0开始
start=2
end=3
print(msg[start:end])
print(msg[-2:-1])

5.格式化字符串


age=18
sex="男"
print("我性别%s,今年%d岁" %(sex,age))

%.1保留一位小数
6.转义字符
\n 换行 \t tab
加r后,此时转义字符不起效果
print(r"hello\tworld")

三.列表
一个有序的序列,序列中每个元素都分配一个数字(位置,索引)
1.我们可以使用方括号,中括号来创建列表
2.我们可以直接将序列放在list(seq)
列表创建

nums=[1,2,3,4,5]
letters=list("abc")

3.列表可以用变量的相同操作进行加,幂


#追加
l1=[5,6,7]
l1.append(8)
#扩展
l2=[1,2,3]
l2.extend(l1)
 #插入,在1的位置插入一个0 
l1.insert(1.0)

四.元组
一个有序的序列,序列中每个元素都分配一个数字,元组数据中的每一个数据不允许修改
1.我们可以使用圆括号,小括号来创建元组
2.我们可以直接将序列放在tuple(seq)

t1=(1,2,3,4,5)
t2=tuple("abc")
#获取长度
print(len(t1))
#获取最大值
print(max(t1))
#获取最小值
print(min(t1))

五.字典
是一种可变容器模型,可以存储任意类型对象
字典以键值对存储数据,key-value形式,键值使用冒号:分隔,每个键值中间用,隔开
字典包括在大括号{}中
字典键的特性,不可重复,不可变


eg={key1:value,key2:value}
d={"name":"rock","age":18,"hobby":"coding"}
#获取字典中的数据
print(d["name"]) 
print(d.get("age")) //当查找的键值不存在是法一报错,法二返回空
#字典数据的添加,修改,删除
d["msg"]="hello world"
del d["msg"]
#获取所有的key
print(d.keys())
#获取键值
print(d.valus())

六.集合
集合是python中最基本的数据结构,用来存储最基本的数据结构,用来存储一个无序的不重复的元素序列
集合的标识䦹大括号{}中间的元素用逗号隔开
set{序列}
s={"abc","123"}
空集合的创建
s=set()而不是 s={}

  • 差集
    | 并集
    & 交集
s={"234","abc","123"}
#添加
s.add("010")

1.3.1 条件分支

if-else 语句 与c相同 if后的语句不需要加括号

1.3.2 for 循环
for item in[2,3,4]:
print(item)
1.3.3 while 循环

while expression(表达式):

while true:
print("hello world")
1.4.1函数的定义

定义时声明的参数叫形参
调用时传递进来的参数叫做实参
位置参数:

def 函数名(参数列表):
        函数体
        return 数据 //返回的数据可以设置为列表,元组等
print(def)//可以输出返回值

关键字参数(存在默认值):

def print_info(name=None,age=0):
        print("%s 今年%d" %(name,age))
print_info(name="小明",age=18)

不定长参数(可以是不定长的动态参数):

print_info2(*args):
print_info3(**kwargs): #自动将参数转换为字典

1.4.2匿名函数

lambda 参数: 返回值
通常用在只使用一次的场景下,且处理操作相对简单

lambda num1,num2  :  num1+num2
1.5.1 python过程中的异常

一·异常处理
在python中使用
将可能出现异常的代码放到其中

def div(a,b):
try:
       c=a/b
except:
       return "代码异常"
       return c
return = div(10,0)
print(result)

二·抛出异常
1.raise + 异常信息
2.assert a != 0 ,"a不能为0"

1.6.1 模块

模块能更有逻辑的组织代码,模块能定义函数,变量,类等
包是一个和模块不分家的存在,但一个模块的内容过多时,我们会考虑将模块的内容转换到包中
包和文件的区别
在于 _init_py


#将module中的sum导入
from Module import sum
result = sum()

第三方模块
安装模块 plp install django
二.内置模块
关键:首先需要导入import就可以
1.os模块 与系统进行对接



2.random模块
random是python中的一个随机数的模块
生成一个0~1随机浮点数
random
生成一个[a,b]之间的随机数
randint
从序列中选择一个元素
choice
3.math模块
pow 乘方
floor 向下取整
ceil 向上取整
sqrt 开平方
4.secrets 保密模块


5.hash
对常用的MD5,sha都可以直接进行支持
构建一个hash对象
new
更新需要进行hash转换的数据
updata
获取摘要信息
digest
获取字符串的摘要信息
hexdigest

#
hash_obj=hashlib.new("md5","rock",encode("utf-8"))
print(hash_obj.digest())
#
print(hash_obj.hexigest())

6.time



7.datetime
内置的一个用来操作日期时间模块
获取当前时间信息
datetime.now
获取时间差
timedelta
自己构建日期时间
datetime
三.第三方模块
1.第三方模块的安装
通过包管理工具进行安装
下载包的源码进行setup.py
2.python包管理工具



pip install ...下载
pip uninstall ... 删除

-i http://pyp1.douban.com/simple
-i 切换下载源
3.requests模块
网络请求模块,通常用在爬虫和中间层服务器中,实现请求的发送,响应的接收。
4.requests请求
请求方式get
请求响应
response
text(内容)
status_code(请求状态码)

import requests
response=requests.get("https://www.baidu.com")
print(response.text或.status_code)

常见问题:


备注

运算符的优先级

vlsualgo.net/zh 包含许多数据结构算法

内置排序 sorted(l)

忘记在 if , elif , else , for , while , class ,def 声明末尾添加 “:”(导致 “SyntaxError :invalid syntax”)

1、该错误将发生在类似如下代码中:12if spam== 42 print('Hello!')

使用 = 而不是 ==(导致“SyntaxError: invalid syntax”)= 是赋值操作符而 == 是等于比较操作。

2、该错误发生在如下代码中:if spam= 42: print('Hello!')

错误的使用缩进量(导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343