Note/Pychrm/py_基础知识.md
2023-08-31 11:30:31 +08:00

13 KiB
Raw Blame History

[TOC]

python基础

1.pip

1.1 使用pip管理Python包

pip install <包名> 安装指定的包 

pip uninstall <包名> 删除指定的包 

pip list 显示已经安装的包 

pip freeze 显示已经安装的包,并且以指定的格式显示

1.2 修改pip下载载源

运行pip install 命令会从网站上下载指定的python包默认是从 https://files.pythonhosted.org/ 网站上下

载。这是个国外的网站遇到网络情况不好的时候可能会下载失败我们可以通过命令修改pip现在软件时的

源。 格式:

pip install 包名 -i 国内源地址

示例: pip install ipython -i https://pypi.mirrors.ustc.edu.cn/simple/ 就是从中国科技大学(ustc)的服务器

上下载requests(基于python的第三方web框架)

国内常用的pip下载源列表:

阿里云 http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http://pypi.douban.com/simple/

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

1.3 退出python环境

exit()

ctrl + z ==>enter

1.4 注释

1.一般注释要写到代码上面。(很少情况写到代码后面)

#单行注释
# CTRL+ ? 或 shift + 3
#一般情况下注释要写到代码上面
print('你是我的宝贝')

#多行注释
'''
你是我的宝贝
print('你是我的宝贝')
'''

2. 变量的定义以及类型

2.1 变量的定义

# 重复的值修改很麻烦
print('你是我的宝贝')
print('你是我的宝贝')
print('你是我的宝贝')
print('你是我的宝贝')

# 定义为变量,便于修改赋值
shuzhi = '你是我的宝贝'
print(shuzhi)
print(shuzhi)
print(shuzhi)

image-20211226143711623

2.2 数据类型

https://www.zhixi.com/view/125e9881

image-20211226134510431

数据类型
int 整型
float 长整型
boolean 布尔型
string 字符串型
list 列表
tuple 元组
dict 字典

1.int

money = 5000
print(money)

2.float

money2 = 3.87
print(money2)

3.boolean

# 1.流程控制语句
# 2.性别的控制(在实际企业开发中使用的单词 sex gender
#   基本开发中 True 是男False是女
sex = True
sex2 = False
print(sex)
print(sex2)

4.string

# 字符串 使用的是 单引号 或者是 双引号 (英文的)
s = '你是我的宝贝'
s2 = "你不是的宝贝"
print(s)
print(s2)
# 不能单双混着写,屌丝写法
# 也不能 双双引号 或者 双单引号的嵌套
s3 = "'你是我的宝贝'"
s4 = '"你是我的宝贝"'
print(s3)
print(s4)

5.list

# 应用场景:当获取到很多数据时,可以存储到列表中,然后直接访问。
name_list = ['王','赵']
print(name_list)

6.tuple

age_tuple = (0,2,3)
print(age_tuple)

7.dict

# 应用场景scrapy框架常用
# 格式:变量名字 = {key:value,key1:value2}
person = {'name':'红浪漫','age':18}
print(person)

2.3 数据类型的查询

在python中只要定义了一个变量而且它有数据那么它的类型就已经确定了不需要开发者主动的 去说明它的类型,系统会自动辨别。也就是说在使用的时候 变量没有类型,数据才有类型。

# 常用数据类型
# int
# float
# boolean
# string
# list
# tuple
# dict
a = 1
print(a)
print(type(a))

b = 2.12
print(b)
print(type(b))

c = True
print(c)
print(type(c))

d = '中国'
print(d)
print(type(d))

e = [1,2,3,4]
print(e)
print(type(e))

f = (1,2,3,4)
print(f)
print(type(f))

g = {'name':'张三','age':'18'}
print(g)
print(type(g))

image-20211226180652499

3. 标识符和关键字

3.1命名规范

计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与 使用之间的关系。

  1. 标识符由字母、下划线和数字组成,且数字不能开头。

  2. 严格区分大小写。

  3. 不能使用关键字。

关键字
False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield

3.2 命名规范

驼峰原则

大驼峰userName常用 第一个单词以小写字母开始;第二个单词的首字母大写

小驼峰UserName 每一个单字的首字母都采用大写字母

下划线: user_name 用下划线将单词相连

4. 类型转换

函数 说明
int(x) 将x对象转换为整型
float(x) 将x对象转换为浮点
str(x) 将x对象转换为字符串
bool(x) 将x对象转换为布尔值

1.转换为整型

# str --> int
a = '123'
print(type(a))

b = int(a)

# float --> int
# 如果我们将float转为整数 那么会返回的是小数点前面的数据
c = 1.63
d = int(c)

# boolean --> int
# 强制类型转换为谁 就写什么方法
# True ---> 1   False ---> 0
a = False
b = int(a)

image-20211226210240692

2.转换为浮点型

# 在爬虫时获取的数据大部分是字符串类型,部分数据需要转换为浮点型,例如价格,数量等。
# string --> float
a = '12.34'
b = float(a)

#int -->float
c = 666
d = float(c)

image-20211226205649057

3.转换为字符串型

#int -->string
a = 80
b = str(a)

# float --> string
a = 12.32
b = str(a)

# bool --> string
a = True
b = str(a)

image-20211226211031791

4.转换为布尔类型

# int --> bool
# 非零整数转换为bool 0为 False, 其他为True
a = 1
a = -1
a = 0

#float --> bool
# 非零数转换为bool 0为 False, 其他为True
a = 0.0
a = -1.34
a = 1.54

#string --> bool
#非空包括空格返回True空返回False
a = ''
a = ' '
a = '你是我宝贝'

#liat --> bool(列表)
#非空包括空格返回True空返回False	(同string)

#tuple --> bool(元组)
#非空包括空格返回True空返回False	(同string)

#dict --> bool(字典)
#非空包括空格返回True空返回False	(同string)

5. 运算符

5.1 算数运算符

运算符 描述 实例
+
-
*
/ 5/2结果为2.5
// 取证 9//2 结果为4
% 取余 9%2结果为1
** 指数 a的b次幂
() 小括号 运算级别

优先级 ** 高于 */ % // 高于 + -

#特殊类型
#在python中	+	两端只能是同种类型
#在python中	*	可以重复文本(文本*数量)

5.2 赋值运算符

# 单个变量赋值 
num = 10 

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

# 多个变量赋值(使用逗号分隔) 
num1, f1, str1 = 100, 3.14, "hello" 

5.3 复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c+=a 等效于 c=c+a
-= 减法赋值运算符 c-=a 等效于 c=c-a
*= 乘法赋值运算符 ca 等效于 c=ca
/= 除法赋值运算符 c/=a 等效于 c=c/a
//= 取整赋值运算符 c//=a 等效于 c=c//a
%= 取模赋值运算符 c%a 等效于 c=c%a
**= 幂赋值运算符 ca 等效于 c=ca

5.4 比较运算符

运算符 描述 实例
== 等于:比较对象是否相等 (a == b) 返回 False
!= 不等于:比较两个对象是否不相等 (a != b) 返回 True
> 大于:返回x是否大于y (a > b) 返回 False
>= 大于等于:返回x是否大于等于y (a >= b) 返回 False
< 小于:返回x是否小于y (a < b) 返回 True
<= 小于等于:返回x是否小于等于y (a <= b) 返回 True

5.5 逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 只要有一个运算数是False结果就是False; True and True and False--> False
or a or y 只要有一个运算数是True结果就是True; False or False or True-->True
not not x 取反 not True --> False

6. 输入输出

6.1 输出

pirnt("我今年10岁")
pirnt("我今年11岁")

age = 10 
print("我今年%d岁" % age)

age = 18 
name = "红浪漫晶哥" 
print("我的姓名是%s, 年龄是%d" % (name, age))

6.2 输入

password = input("请输入密码:") 
print('您刚刚输入的密码是:%s' % password)

注意事项:

input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示

input()在从键盘获取了数据以后,会存放到等号右边的变量中

input()会把用户输入的任何值都作为字符串来对待

7. 流程控制语句

7.1 if判断语句

age = 30 
if age >= 18: 
	print("我已经成年了")

注意代码的缩进为一个tab键或者4个空格

7.2 if else

if 
	条件: 满足条件时的操作 
else:
	不满足条件时的操作
	
age = 18 
if age >= 18: 
    print("我可以去红浪漫了") 
else:
    print("未成年,不允许去"

7.3 elif

if xxx1: 
	事情1 
elif xxx2: 
	事情2 
elif xxx3: 
	事情3

score = 77 
if score>=90: 
    print('本次考试等级为A') 
elif score>=80: 
    print('本次考试等级为B') 
elif score>=70: 
    print('本次考试等级为C') 
elif score>=60: 
    print('本次考试等级为D') 
elif score<60: 
    print('本次考试等级为E')

7.4 for循环

for 临时变量 in 列表或者字符串等可迭代对象: 
    循环满足条件时执行的代码
    
for s in "hello": 
    print(s)
    
for i in range(5): 
    print(i)

7.5 range

range(开始值终止值步长)  //左闭右开区间

for x in range(2, 10, 3):
	print(x)

8. 数据类型高级

8.1 字符串高级

len 获取长度 len函数可以获取字符串的长度。
find 查找内容 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次 出现的开始位置索引值,如果不存在,则返回-1.
startswith,endswith 判断 判断字符串是不是以谁谁谁开头/结尾
count 计算出现次数 返回 str在start和end之间 在 mystr里面出现的次数
replace 替换内容 替换字符串中指定的内容如果指定次数count则替换不会超过count次
split 切割字符串 通过参数的内容切割字符串
upper,lower 修改大小写 将字符串中的大小写互换
strip 空格处理 去空格
join 字符串拼接 字符串拼接

8.2列表高级

列表增删改查

append 在末尾添加元素
insert 在指定位置插入元素
extend 合并两个列表

append append会把新元素添加到列表末尾

#定义变量A默认有3个元素 
A = ['xiaoWang','xiaoZhang','xiaoHua'] 
print("添加之前列表A的数据A=%s" % A) 

#提示、并添加元素 
temp = input('请输入要添加的学生姓名:') 
A.append(temp) 

print("添加之后列表A的数据A=%s" % A)

insert insert(index, object) 在指定位置index前插入元素object

#[0,1,2,3]
strs = ['a','b','m','s'] 
strs.insert(3,'h') 
print(strs) 
# ['a', 'b', 'm', 'h', 's']

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

a = ['a','b','c'] 
b = ['d','e','f'] 
a.extend(b) 
print(a) # ['a', 'b', 'c', 'd', 'e', 'f'] 将 b 添加到 a 里 
print(b) # ['d','e','f'] b的内容不变