python基础知识总结(小白福利来了)……人生苦短,我用python
Posted 武亮宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础知识总结(小白福利来了)……人生苦短,我用python相关的知识,希望对你有一定的参考价值。
python基础知识总结……人生苦短,我用python
前言
Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。
Python 解释器及丰富的标准库,提供了适用于各个主要系统平台的源码或机器码,这些可以到 Python 官网 https://www.python.org/ 免费获取,并可自由地分发。许多免费的第三方 Python 模块、程序、工具和它们的文档,也能在这个网站上找到对应内容或链接。
Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以通过 C 调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。
注释
注释 注释能够让阅读代码的人更加清晰的知道代码的作用, 注释可以增强代码的阅读性
单行注释, 多行注释,
在Python里面 # 号就代表单行注释
多行注释
"""
这是多汗注释, 按住shift+"(连按三次")就可以出现多行注释
"""
数据类型
- int 数字整数
- Float 浮点类型(小数点)
- Bool 布尔类型(True(真, 1), False(假, 0))
- String 字符串 (带引号的都是字符串)
- List 列表
- Tuple 元祖
- Dictionary 字典
Python3 的数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
变量名
变量名:字母、数字、下划线组成,数字不能开头,变量命名要和实际数据相关联(见名知意)
不能使用关键字命名
两种命名法:
1.大驼峰法命名:每一个单词的首字母大写 My_Name=
2.小驼峰法命名:除了第一个单词的字母以外,其他单词的首字母都要大写 my_Name_Is=
数值类型
整数
# 整型:整数
num_i_1 = 88 # i为int的缩写 int(整型)
num_i_2 = 66
print(num_i_1)
print('能给我发个%d的红包么?' % num_i_1) # %为占位符 %d为十进制
print('能给我发个%o的红包么?' % num_i_1) # %o为八进制
print('能给我发个%x的红包么?' % num_i_1) # %x为十六进制
print('能给我发个%d的红包么或者%d的红包' % (num_i_1, num_i_2))
浮点数
# float浮点数
num_f_1 = 1.68888888
print(num_f_1)
print('能给我发个%f的红包么?' % num_f_1) # 格式化输出浮点数型 默认保留小数点后6位
print('能给我发个%.3f的红包么?' % num_f_1) # 小数点加数字 表示保留小数点后三位数字
布尔型
True=1
type(True)
输出:class'bool'
False=0
type(False)
输出:class'bool'
复数 a+bi
complex_1 = complex(1, 2) # 1为a 2为b
字符串
# 字符串
str_1 = 'good morning'
str_2 = 'good afternoon'
str_3 = 'good night'
print('%s,你吃了么' % str_1)
print('{},你吃了么' .format(str_2))
print(f'{str_3},你吃了么')
print('{},{},你吃了么'.format(str_1, str_2))
替换 replace
str_4 = 'play football'
print(str_4)
print(str_4.replace('football', 'basketball')) # 前面是被替换的字符 后面是替换的新字符
strip去掉
# 两端去空白(做爬虫 做自动化处理Excel) strip(去掉 \\t横向制表符 \\n换行)
str_5 = '\\tplay football\\n'
print(str_5)
print(str_5.strip())
切割split
# 切割 (做爬虫 做自动化处理Excel) split
str_6 = 'go to school'
list_7 = str_6.split('o')
print(list_7)
print(type(list_7))
拼接 join
print('-'.join(str_6))
print('o'.join(list_7))
字符串大小写转化
# 字符串大小写转化 upper转化成大写 lower转化成小写
str_8 = 'day day up'
print(str_8.upper())
print(str_8.lower())
查找与统计
print(len(str_8)) # len()统计括号内输入的数据长度
print(len('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'))
count 统计
# count 统计字符出现的次数
print(str_8.count('a'))
print(str_8.count('d'))
find 查找
# find 查找字符是否在字符串中 返回第一次找到字母的下标
print(str_8.find('u')) # 可以分区域查找(不给定区域就是查找整个字符串),如果不在返回-1
print(str_8.index('y', 3, 8)) # 可以分区域查找 index:类似find如果不在就会报错
# rfind:和find一样,不过是从右边开始查找
print(str_8.rfind('u'))
print(str_8.rindex('y', 3, 8))
判断与检测
# 判断
str_9 = '166529822545'
str_10 = 'adwfvhgcgajfkg'
print(str_9.isdigit()) # isdigit()判断括号内数据全为数字
print(str_10.isalpha()) # isalpha()判断括号内数据全为字母
# 检测 type()
num_1 = 141651
print(type(num_1))
str_11 = '168'
print(type(str_11))
list_1 = [1, 6, 8]
print(type(list_1))
tuple_1 = (1, 6, 8)
print(type(tuple_1))
dict_1 = {'1': 1, '6': 6, '8': 8}
print(type(dict_1))
set_1 = {1, 6, 8}
print(type(set_1))
强制转型
num_f_1 = float(num_1)
print(num_1)
print(num_f_1)
str_12 = str(num_1)
print(num_1)
print(type(num_1))
print(str_12)
print(type(str_12))
运算符
# 运算符
# 算数运算符
加号 +
减号 -
乘号 *
除法 /
取整数 //
取余数 %
幂次方 **
# 比较(关系)运算符
== 检查两个参数是否相等 , 条件成立返回True
!= 检查两个参数是否不相等 , 条件成立返回True
> 大于号 左边数大于右边数就返回True
< 小于号
>= 大于等于
<= 小于等于
num_1 = int(input('请输入一个数字:'))
num_2 = int(input('请输入一个数字:'))
print(num_1 >= num_2)
# 逻辑运算符
and 与 x and y x和y都满足才返回True, 如果其中一个不满足就返回False
or 或者 x or y x和y有一个满足就满足, 如果都不满足才返回False
not 不 如果x为True就返回False, 如果x为False就返回True
# 赋值运算符
在Python中,使用=号可以给变量赋值
+= c = c + b 可简写为 c += b
-= c = c - b 可简写为 c -=b
*= c = c + b 可简写为 c *= b
/= c = c + b 可简写为 c /= b
//= c = c + b 可简写为 c //= b
%= c = c + b 可简写为 c %= b
**= c = c + b 可简写为 c **= b
c = 0
a = 1
b = 2
a = a + b
a += b
# 运算符的优先级
** 最高优先级
* / % //
+ -
<= < > >=
== !=
= %= /= //= -= += *= **=
not or and 最低优先级
# 常用的数据类型转换
a = int(input('输入一个数字:'))
a = hex(a)
print(a)
c = 2
c = str(c)
c = float(c)
c = int(c)
print(c)
判断语句 if
# 判断语句, 给定一个条件, 如果在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作, 从而改变代码的执行顺序
if 今天发工资:
先还信用卡
if 有剩余:
还花呗
else:
没钱了, 什么也干不了
else:
等待发工资
按住tab键也可以缩进, 一个缩进等于4个空格, tab和空格不要混合使用
if (要判断的条件):
条件成立,就执行
age = int(input('请输入你的年龄:'))
判断年龄是否大于等于18岁
if age >= 18:
print('可以进网吧嗨皮')
else:
print('没有成年,不能进网吧上网')
else 处理条件不满足时的情况
if的嵌套使用
# if的嵌套使用
# if嵌套的应用场景, 在之前条件满足的前提下, 再增加额外的判断
if 条件1:
条件1满足执行的代码
if 在条件1的满足的基础上加条件2:
条件2满足时,执行的代码
else:
条件2不满足执行的代码
else:
条件1不满足时执行的代码
if 语句的进阶
# if 语句的进阶 elif, 条件不同, 需要执行的代码也不同, 就要用到elif,多层条件判断
if 条件1:
条件1满足时执行的代码
elif 条件2:
条件2满足时执行的代码
elif 条件3:
条件3满足时执行的代码
else:
以上条件都不满足时执行的代码
elif的实例
holiday_name = input('今天是什么节日:')
if holiday_name == '情人节':
print('买玫瑰花')
print('看电影')
udyima = int(input('输入0代表False, 输入1代表True:'))
if udyima == 0:
print('这几天不方便,不能去儒家')
elif udyima == 1:
print('哈哈....可以去儒家啦!!! 好开心')
else:
print('唉...女人的心思真难懂!!!!!!')
elif holiday_name == '圣诞节':
print('吃圣诞大餐')
print('送礼物')
print('看电影')
print('去儒家')
elif holiday_name == '生日':
print('送生日蛋糕')
print('送礼物')
print('看电影')
print('去儒家')
else:
print('啊!!!今天终于不过节啦! 不用去儒家啦! 好累啊!! 要补补啦!!!')
while循环
# 定义一个计数器
i = 1
while i <= 100: # 当条件满足时, while里面的代码才会执行
print('I Love You') # 需要重复执行的代码
i += 1 # 一定要有计数器, 没有计数器很可能会造成死循环
# 程序的三大流程
# 在程序开发中,一共有三种流程
# 1. 顺序-- 从上往下, 按照顺序执行代码
# 2. 分支-- 根据条件判断, 决定执行代码的分支
# 3. 循环-- 让特定的代码重复执行
# 死循环, 由于程序员的原因, 忘记在循环内部修改循环的判断条件, 导致循环持续执行,程序无法终止
# Python中的计数(程序): 从0开始计数
# 自然计数是从1开始计数的
# 计算0-100之间所有的数字累计求和
# 0+1+2+3+4+5+6+7+8+9.....+100
# 计算0-100之间所有偶数的求和
# 定义一个计数器
i = 0 # i是计数器
s = 0 # s 是存储结果的容器
while i <= 100: # 当条件满足时, while里面的代码才会执行
# print('I Love You') # 需要重复执行的代码
if i % 2 != 0:
s += i
i += 1 # 一定要有计数器, 没有计数器很可能会造成死循环
print(i)
print(s)
# break , continue是专门在循环中使用的关键字, 只在当前所在的循环有效
# break满足条件时, 退出循环, 不再执行后面重复的代码
# continue满足条件时, 跳过当前循环进入下次循环
i = 0
while i < 10:
if i == 7:
i += 1
continue
print(i)
i += 1
# while嵌套就是while里面嵌套while
# 外部的while影响内部while循环的运行, 直至内部循环不满足条件时才会继续执行外部循环
for 循环
# for 循环
# 在Python中for循环可以遍历任何序列的项目, 比如一个列表或者以个字符等
# for循环的格式
# for 临时变量 in 列表或者字符等:
# 循环满足条件的时候需要执行的代码
# else:
# 执行不满足条件的代码
str_1 = '123456789'
for i in str_1:
if i == '8':
continue
print(i)
else:
print('当字符串里面的所有内容被遍历完之后,条件就不满足了, 就会执行else')
# range 是范围的意思
for i in range(1, 3):
for j in range(1, 3):
for s in range(1, 3):
print(i, j, s)
列表
# 列表 :中括号
a = 'xiaoming'
list_1 = []
list_2 = list()
list_3 = ['xiaohong', 'lisi']
# 增:往列表里面添加数据
# append 往末尾添加
list_3.append('zhangfei')
print(list_3)
# insert
list_3.insert(0, 'machao')
print(list_3)
b = ['liubei', 'zhaoyun']
list_3.extend(b)
print(list_3)
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
for i in a:
b.insert(i, a[i-1])
print(b)
# 根据下标取列表中得元素(注意点:下标是从0开始得)
print(b[2])
print(b[3])
print(b[4])
# 左闭右开,依次取值
print(b[2:4])
print(b[2:6])
print(b[2:8])
['c', 'd', 'e', 'f', 'g', 'h']
# 根据步长依次递增选取
# 下标0, 2, 4, 6, 8
print(b[2:8:2])
# 下标0, 3, 6, 9
print(b[2:8:3])
# 下标0, 4, 8, 12
print(b[2:8:4])
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print(b[-4:])
print(b[:-4])
# 删除remove
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print(b.remove(b[0]))
b.remove(b[0])
print(b)
del b[0]
print(b)
# 删除最后一个值
a = b.pop()
print(a)
b[3][0] = 'zhangfei'
print(b)
a = b.pop(3)
print(a)
# 修改,根据=赋值
b = [['xiaoming', 18, '男'], ['xiao红', 18, '女'], ['李四', 18, '男'], ['张飞', 18, '男']]
c = b[2][0].replace('李四', 'lisi')
print(b)
b = 888
c = 889-1
print(id(b))
print(id(c))
# is == 区别
# 查 index, in, not in
print(len(b))
if '3' in b:
num = b.index('3')
print(num)
for i in b:
print(i)
a = 'qwertyuiasdfgasfsafafsafasfafsafafhjkzxcvbnm'
num = len(a)
print(num)
for j in b:
print<以上是关于python基础知识总结(小白福利来了)……人生苦短,我用python的主要内容,如果未能解决你的问题,请参考以下文章