python基础 学习笔记 重要知识点


前言

该文针对Python有点基础的,对Python想更透彻学习的,是作者在拉钩学习数据分析Python基础时,对Python的一些细节,需要注意的点所做的笔记。这里只过一下,感觉必须记住的关键点,如果这些关键点您本身就会,那么这篇文章看起来也会很快。


一、基础小知识

变量就像一个容器

x = “world” x相当于箱子的标签,world是箱子里的内容

变量名规则
在Python中,变量名遵循以下的规则:

变量名由字母、数字和下划线组成,也就是a-z, A-Z, 0-9和_
变量名不能以数字开头
变量名是区分大小写的,比如a 和 A就是两个不同的变量。
a = b = c = 1
a , b , c = 1 , 2 , 3
a , b = b, a a,b交换
这两种命名方式,别人一看,是个老手。

del关键字 把某个变量删掉 一般不需要手动写这个

转成布尔值 bool() 输入数值,只有0, 0.0 会返回false,其余返回true。
对于字符串,bool() 只有空字符串会返回false。
输入None值的话 永远都会返回false。
非0的数都是 True 0是False None也是转换为false
既 0,None,空字符串转换为布尔值为False
例:像下面的

if result == None#(新手)
if result :                   #    (老手,因为if后面的条件在python里会自动的把None转换为布尔值False)

运算符
// 整除 5//2 = 2 取整的那部分。
运算符两边一般要留空格。(为了美观)
% 取模
当两个数能整除时,取模运算的结果为0,比如 8 % 4 的结果是0 ,两个都是正数,就是正常的取余计算。
当0<a<b时,a % b = a,比如 3 % 8 的结果是3
当两个数中有负数时,结果可能会跟我们预料的不同,记住这个公式就行了 :a % b 就相当于a - (a // b) * b 。
最后,提醒一下,0不能作为除数,也不能用来取模。

逻辑运算符
or 逻辑运算符 ,如果or前面的部分为真,就不会执行or后面的部分了。比如:
n = 8
a = n or 1
输出: a = 8
如果 n = 0
a = n or 1
输出: a = 1
上面这是一种很老道的写法。

Ctrl + / 可以在pycharm把内容注释掉。

pass 什么用也没有 占个位用

countinue 就是将本轮循环剩下的部分跳过去不跑,直接回到循环(for、while)条件判断的地方。

break 跳出并结束整个循环。

break、countinue都是只针对循环的。

if 除了可以后面跟elif 、else 后面也可以没有这些,然后就是判断一下,符合if条件的 就执行if条件里的,不符合就继续往下执行,就当这套if语句没有。

while True: 这么写while 循环的话 只有在循环语句中碰到break 才会退出循环。

占位符

占位符 描述
%d 整数占位符
%f 浮点数占位符
%.f 指定精度的浮点数占位符
%s 字符串占位符
%% 输出百分号%
例:

print("圆周率:%.2f" % 3.14)

s=1
print("可以是个变量:%.2f" % s)

#下面这段代码很经典,几种都包括了。
report = "%d年%s公司营收增长了%.2f%%" % (2020,"腾讯",12.93)
print(report)

3.14那块也可以是一个变量
%f 默认小数点后面6位
%.2f 这种默认两位小数的,不足2位会补0 ,如果是整数会自动转为浮点数。
%s 使用最广泛。

format函数
除了%运算符外,Python还为我们提供了字符串的format函数提供丰富的格式化。比如说,在输出一个 较长的数字时,根据国际惯例,每三位用逗号分隔:

'{:,}'.format(1234567890) 
# 1,234,567,890

report2 = "{0}年{1}公司营收增长了{2}%".format(2020,"腾讯",12.93)
print(report2)

{0}表示第一个参数,{1}{2}表示第二、第三个参数,以此类推。这样做的好处是,如果有参数在字符串 出现多次,可以不用重复的传入。

'{0}的GDP为{1:,}...虽然它的GDP只有{1:,}美元,但它的人均GDP高达18万美元'.format("摩纳哥", 7100000000)

字符串索引及切片
字符串也是序列。

s = "CHINA"
s[0:] 
s[:5] 、s[:6]
s[0:5]
s[:]

上面四种取法取出来的数都是一样的。

字符串函数

\t 空格
\n 换行
strip() 去除字符串前后的空格、\n、\t这些特殊符号。
strip函数:去除首尾的特殊空白字符。

print(" a b c  ".strip())

lstrip() 去除左边的
rstrip() 去除右边的

大小写操作

print("china".upper())  #变成大写
print("CHINA".lower())  #变成小写
print("china".capitalize())  #首字母大写
print('i have a dream'.title())   #每个单词的首字母大写

字符串判断

print("china".islower())    #是否全是小写
print("china".isupper())    #是否全是大写
print("123456".isdigit())   #是否全是数字

#find index 查找字符串
find函数,如果在大字符串里则返回相应的位置,不在大字符串里则返回-1

password = '453454'
input_password = '45123857689'
print(input_password.find(password)) 
print(input_password.index(password))  #index函数和上面的find函数功能一样,只不过index脾气不好,如#果没找到就会报错。

#count , 数字符串的个数
返回在里面出现几次

b = 'banana'
print(b.count('a'))
print(b.count('n'))
# 替换 replace
print("abba".replace('a','c'))
print("apple orange".replace('apple','orange'))
print(len('china'))  #非字符串函数,是Python内置函数。求字符串长度。

二、元祖、列表、字典、集合

元祖、列表、字典、集合也有相应的函数,这里提到的函数并不全,提到的肯定是基础的重要的。

元祖 tuple

ps:Python列表、元组、字符串都属于有序序列,他们也都可以重复的。

# 元祖是不可变序列,一般是用来读的
t = ('My','age','is','18')
t = 'My','age','is','18'  # 直接这样写 括号是可以不带的
t = ('Solo',)   # 如果是一个单独的,那么后面要加一个逗号,否则会认为是一个字符串。
t = ('My','age','is','18')
print(" a ".join(t))    #用join,t里面都得是字符串," a "的作用就是把每个" a "加到字符串中间。
# 一些字符串函数也可以在元祖中使用
t = ('a','b','b','a')
print(t.count('a'))  # a出现几次
print(t.index('b'))  # b第一次出现的位置
a = tuple(range(10))
print(a)
print(len(a),a[-1])
# 元祖支撑硬操作 比如 判断某个数是否存在于元祖里面
print(8 in a)

列表 list

列表可以理解为可变的元组,它的使用方式跟元组差不多,区别就是列表可以动态的增加、修改、删除 元素。

# 定义一个空列表
lst = []
lst = list()
# 元祖
tup = ()

切片和索引的一个区别,用切片切列表 返回也是列表,切片切元祖 返回也是元祖 。但是索引不一样,索引返回的是这个值本身的类型。
列表这块还有一个列表表达式,像学习的可以去菜鸟教程看一下。

#增
lst.append('x')  # 在最后增加一个x
lst.extend(['b','c','d'])  #可以添加多个值

#删 pop和del都是按照索引进行删除,remove是按照值进行删除。
lst.pop()    # 删除最后一个元素  和del的区别是,它删除的元素 可以打印出来print(lst.pop()),会打印出删除的那个元素。
del lst[0]
lst.remove('x')  #remove 只会删除指定的第一个出现的元素,有多个只删除第一个
lst.clear() #全清除

#改
lst.reverse() #反转
lst.sort()  #sort直接把原有列表给修改了,没有产生新的列表对象。从小到大排序   试了对数字和字母都能进行排序。根据ASCII码进行排序  ord() 转换成ascii的数值,chr(64) 转换成对应元素。
# ord,chr 可以将字符与ASCII值相互转换
lst.sort(reverse = True) #从大到小排序

# copy 这个老师讲的很清楚,和两个赋值对比
lst1 = [1, 2, 3] 
lst2 = lst1.copy() 
lst1.append(4) 
print(lst1) # [1, 2, 3, 4] 
print(lst2) # [1, 2, 3] 

字典 dict

sales = {}
# 添加数据
sales['mike'] = 0
print(sales['mike'])
# 修改数据
sales['mike'] = 300
print(sales)
# 删除
del sales['mike']
print(sales)

下面这个使用for循环迭代字典,特别重要。

# 遍历字典的常规写法 注意,还有后面的item s()
for key, value in sales.items():
    print(key,value)
print(sales.keys())
print(sales.values())

集合 set

外面跟字典一样{};内部跟列表一样,逗号相隔随便写。集合在python里是一种无序的不重复的序列。一般用来删除重复数据,还可以用来交集、并集,差集等。

nums.add(5)  #在集合中增加一个5 ,和列表就不一样,列表用的不是add,而是extend、append
nums.remove(5)  #在集合中删除5这个元素,如果集合中没有5,会报错。
nums.discard(5)  #也是删除集合中的5,如果集合中没有5,不会报错。
nums.pop()   # 随机干掉集合中的一个元素,因为集合本身就是无序的,所以是随机干掉一个。如果在列表中,会默认干掉最后一个元素。pop()函数还会返回干掉的值。`在这里插入代码片`
s1 = {1, 2, 3}
s2 = {3, 4, 5}
# 求交集
print(s1.intersection(s2))
# 求并集
s3 = s1.union(s2)
#判断是否是子集
print(s1.issubset(s3))
#判断是否是父集
print(s3.issuperset(s2))

读到这里,多多少少会有所收获吧,基础就先分享到这里。下次会继续分享进阶部分~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值