栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

认识python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

认识python

认识python
  • 特点
  • 应用领域
  • 环境搭建
  • 编程工具
  • 变量
  • 基本数据类型
  • 容器数据类型
    • list列表
    • tuple元组
    • dict字典
  • set集合
  • 程序结构
    • 循环
    • 分支
    • 运算符
  • 作业

特点
  1. 弱类型的语言,声明一个变量,直接赋值即可,简单方便,如 a = 10; 但是强类型的语言就必须声明类型int a = 10;
  2. 解释型语言,由python解释器,边解释边执行,将人类可理解的代码转为CPU可处理的0、1。
  3. 简单易学,易上手,高级语言,开发效率高。
  4. 丰富的扩展库,拿来即用。
  5. 由C语言编写。
    缺点:
  6. 运行效率低,比java慢一点,比C慢很多,但一般人是感知不到的。
  7. 代码无法加密
  8. 线程无法利用多核资源
应用领域

web: Django/flask , 如豆瓣网
爬虫:requests/scrapy/bs4/urllib等
数据分析:numpy/pandas/matplotlib
机器学习:sklearn
深度学习:tensorflow/pytorch/paddlepaddle
云计算:框架OpenStack (python编写)
自动化运维、金融分析、量化交易等
谷歌、豆瓣、知乎、百度、apple等公司都在使用python。

环境搭建
  1. 最简单的方式就是安装一个python解释器
    python官网
  2. 最方便的方式就是按照anaconda
    anaconda安装
编程工具
  1. VScode
  2. Pycharm
  3. Anaconda
变量
  1. 字母、数字、下划线
  2. 不能使用保留的关键字
name = "jack"  #声明变量直接赋值,句尾没有分号;
my_address = "henan province" #下划线命名法,官方推荐
myAddress = "zhengzhou" #驼峰命名法,java等常用
NAME = "tom" #全部大写,认为它是一个常量(其实也可以更改)
#多行注释使用 """ 三引号 """
print(NAME)
#python shell中 交互式运行
#python xxx.py   以文件方式,python解释器解释执行
基本数据类型

int 、float、str、bool、None

name = "jack"
age = 19
height = 1.73
married = False
girl_friend = None
print("my name is %s, I am %d years old"%(name,age))

查看类型:type( obj )
转换类型:
int(1.4)–>1
int(True)–>1
int(False)–>0
float(2)–>2.0
str(2)–>“2”
str(True)–>“True”
str(None)–>“None”

字符串类型:可以使用单引号、双引号、三引号表示字符串

s1 = "my name"
s2 = "is jack"
print(s1+s2) # 字符串的拼接
print(s1*3) # 打印三遍
print(s1+5) #报错
容器数据类型

list/tuple/dict/set/str

list列表

可变数据类型

#定义一个列表,一系列数据的组合
list1 = ["a",23,True] 
#通过下标引访问
list1[0]
list1[-1]
list1[start:end:step] #分片复制
#修改
list1[0] = "张三"

#在ipython 下做一些测试、验证
#查看list1的类型
type(list1)
#查看list1 都由哪些属性、方法
dir(list1)
list1.tab键
#列表方法
list1.append() #追加一个元素
list1.extend(["d","e","f"]) #扩展一个列表
list1.insert(idx,e) #在指定索引处,插入数据
list1.pop()# 弹出末尾元素,并返回该元素
list1.pop(idx)#弹出指定索引的元素
list1.remove(e) #删除指定元素,顺序搜索,删除匹配到的第一个e
list1.sort() #默认升序排序列表本身,返回None
list1.reverse() #将所有元素逆序
list1.count(e) #统计列表中,元素e 出现的次数
list1.index(e) #查找e,返回对应的索引,找不到则异常
e in list1  #元素e是否在list1中,返回True/False
b = list1.copy() #复制
list1.clear() #清空元素


#打印列表
print(list1)
#打印列表中的每一个元素
for i in list1:
	print(i)
# ipython下查看帮助文档
a.index?
help(a.index)
tuple元组

不可变 数据类型

#索引操作  与列表相同,但是元组是不可变的
t = ("a","b","d")
#访问
t[0]
t[-1]
t[::1]
#修改
t[0] = "update"  #异常

type(t)
dir(t)
dict字典

key-value 键值对 如,{“name”:“jack”}
key有三种形式:字符串、数值、元组

#创建空字典
empty = {}
empty1 = dict()

d = {"name":"jack","age":23,"height":173.2,"sex":"Female"}
#查看类型
type(d)
d.keys() #所有的key,类似列表的对象
d.values() #所有的value类列表
d.items() #(key,value)元组项的类列表

#获取数据
d["name"] #key不存在时,报错
d["age"] = 29 #更新值
d.get("name",None) #获取"name"的值,没有这个key则返回None
d.get("addr","China")

#删除数据
d.pop("age") #弹出age 这个键值对,返回其值
d.popitem() #默认弹出最后一个键值对
del d["name"]
#从一个序列中设置key
d1 = {}
d1.fromkeys([1,2,3,"name"],"value")
#返回一个新字典{1:"value",2:"value",3:"value","name":"value"}


#更新,可以更新已有的key-value;也可以将一个新字典更新到d中
d.update({key:value}) 

d.clear() #清空自身
d.copy()  #复制
set集合

无序、去重的容器数据类型

s = set()
s1 = {1,2,3}

#查看类型
type(s)
dir(s)
s.tab键

#增加元素
s.add(e) #
s.remove(e)
s.pop()

#集合的操作
s1 = {1,2,3}
s2 = {2,3,4,5}
s1&s2 #交集 -->{2,3}  s1.intersection(s2)
s1|s2 #并集 -->{1,2,3,4,5} s1.union(s2)
s1 - s2 #差集,属于s1,但不属于s2的元素-->{1}
s.clear()
s.copy()

s1.update(s2) #将集合s2中的内容,更新到s1中
{2,3}.issubset(s1) #是否s1的子集
程序结构

顺序、循环、分支结构

循环
#for
for i in range(10):
	print(i)
	
for i in [1,2,3]:
	print(i)

for i in (1,2,3):
	print(i)

#while
label = 1
while label < 5:
	print("current label is %d"%label)
	label += 1
分支
age = 23
if age > 50:
	print("中老年人")
elif age > 30:
	print("中年人")
else:
	print("青年人")
运算符
#算术运算符
+ - * / **(幂) //(地板除)
+= -= *= /= 
#比较运算符
> >= < <= == != 

#三目运算符
name = "jack"
a = name if name else "tom"

#逻辑运算符
and or not 
作业
  1. 去除如下列表中的重复元素,注意不改变原列表的数据。
    [ “b”,“c”,3,4,3,“b”,True]
  2. 思考:如下元组数据,能否向编程语言列表中追加"javascript" ?
    (1,2,[“java”,“python”])
    可以试一试能否改变,那不可变又是怎么回事?
  3. 循环打印如下字典的key, value
    {“name”:“jack”,“age”:23,“height”:173.2,“sex”:“Female”,“addr”:“China”,“Major”:“BigData”}
  4. 找出0-100中所有的偶数,放入一个列表
  5. 实现猜数字游戏,程序每次启动产生一个随机整数,然后要求用户输入一个数字,与随机数比较,若猜对则打印"恭喜你,猜对了!",程序停止;否则打印出用户猜大了,还是猜小了,然后要求用户再次输入,最多可以输入三次。三次均错打印"Game Over",程序停止。

 
 
 
 
下一篇:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号