python基础知识总结(小白福利来了)……人生苦短,我用python

Posted 主打Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础知识总结(小白福利来了)……人生苦短,我用python相关的知识,希望对你有一定的参考价值。

python基础知识总结……人生苦短,我用python

前言

Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

Python 解释器及丰富的标准库,提供了适用于各个主要系统平台的源码或机器码,这些可以到 Python 官网 https://www.python.org/ 免费获取,并可自由地分发。许多免费的第三方 Python 模块、程序、工具和它们的文档,也能在这个网站上找到对应内容或链接。

Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以通过 C 调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。

注释

注释  注释能够让阅读代码的人更加清晰的知道代码的作用, 注释可以增强代码的阅读性
 单行注释, 多行注释,
 在Python里面 # 号就代表单行注释
 多行注释
"""
这是多汗注释, 按住shift+"(连按三次")就可以出现多行注释
"""

数据类型

  1. int 数字整数
  2. Float 浮点类型(小数点)
  3. Bool 布尔类型(True(真, 1), False(假, 0))
  4. String 字符串 (带引号的都是字符串)
  5. List 列表
  6. Tuple 元祖
  7. 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('请输入你的年龄:'))
 判断年龄是否大于等于18if 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的主要内容,如果未能解决你的问题,请参考以下文章

零基础学习python编程不可错过的学习总结,小白福利!

小白学 Python(19):基础异常处理

小白学 Python(18):基础文件操作

人生苦短,我用Python(目录)

小白学 Python(21):生成器基础

小白学 Python:基础流程控制(下)