python学习笔记

python 复制代码
>>> print(type(3.1415926))
<class 'float'>
>>> print(type('Learn Python in imoc'))
<class 'str'>
>>> print(type(100))
<class 'int'>
>>> print(type(0b1101))
<class 'int'>
>>>

在Python里面,一个变量可以先后存储多种不同类型的数据。

python 复制代码
//向下取整
10//4 # ==> 2
10//2.5 # ==> 4.0
10//3 # ==> 3
python 复制代码
//保留两位小数
round(num, 2) # ==> 3.33
python 复制代码
//我直接转义
a = r'\(~_~)/ \(~_~)/'
b = r'''Python is created by "Guido".
It is free and easy to learn.
Let's start learn Python in imooc!'''
print(a)
print(b)
python 复制代码
//格式输出
# 指定{}的名字w,c,b,i
template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.'
world = 'World'
china = 'China'
beijing = 'Beijing'
imooc = 'imooc'
# 指定名字对应的模板数据内容
result = template.format(w = world, c = china, b = beijing, i = imooc)
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))# 感觉不如?
python 复制代码
//字符串切片
//s[起点:终点]
s = 'ABC'
ab = s[0:2] # 取字符串s中的第一个字符到第三个字符,不包括第三个字符
print(ab) # ==> AB
python 复制代码
//list
L = ['Alice', 66, 'Bob', True, 'False', 100]
print(L)
for i in L://遍历
    print(i)
sub_L = L[0:5]//切片,超出去不会报错
print(L[-2])//倒数第二个
L.append('ll')//从末尾添加元素
L.insert(1, 'a')//在L[1]后添加元素
L.pop()//删除最后一个元素,并且返回该元素的值
L.pop(2)//删除L[2]
a = L.pop()//可以赋值

//二维list
L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]
print(L[0])
print(L[0][1])

tuple

可以与list相互转换, 不能增删

python 复制代码
#tuple
L = (1, 1, 4, 5, 1, 4)#tuple用小括号括起来
a = list(L)#转换成list
b = tuple(a)#转换成tuple
print(L.count(1))#查询L中有几个1
print(L.index(1))#返回最近的1的下标,需要目标元素存在
T = (1, )#单个元素的tuple
T = (1)#这样的话其实是1
T = ((1+2),  ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
print(T)

#不可变指的是指指向的list不可变,然而list里面的内容可以改变
T = (1, 'CH', [3, 4])
L = T[2]
print(L) # ==> [3, 4]
# 尝试替换L中的元素
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])

什么勾八

python 复制代码
L = [1, 2, 3]
T = L
T[0] = 3
print(L) ===> [3, 2, 3]

怎么python注释是用的#

dict

很像map吗

python 复制代码
d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
if 'Alice' in d:
    print(d['Alice']) # ==> 45
    print(d.get('Alice'))
if 'Dodo' in d: # Dodo不存在,所以不会走下面的逻辑
    print(d['Dodo'])

#用get不存在的话不会报错,直接用[]访问若不存在会报错

d['aa'] = 1 #直接添加
print(d['aa']

d.pop('Bob') #删除Bob这一项,注意元素不存在时会报错

#key不可变,因此tuple可当做key,而list不可以

for key in d:
    print(key, d[key]) #遍历key并输出
   
a = d.keys()//获取key,但是clear后它也会清零,很奇怪
b = d.values()//获取value
d.clear()

set

python 复制代码
s = set([1, 1, 4, 5, 1, 4])
print(1 in s) #判断1是否在set里
s.add(2) #添加单个
s.update([11, 22]) #添加多个
s.remove(5) #删除
s.discard(11) #删除,不存在的元素不会报错
s.clear()

s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 判断s1是否为s2的子集
s1.issubset(s2) # ==> True
# 判断s2是否为s1的超集
s2.issuperset(s1) # ==> True

s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
s1.isdisjoint(s2) # ==> False,因为有重复元素1、2、3、4、5
#判断两个集合是否重合

函数

python 复制代码
def func(*args):
    print('args length = {}, args = {}'.format(len(args), args))
# 可变参数,在函数内部args相当于tuple

def fun(**kwargs):
    print(kwargs.get('a') + kwargs.get('b'))
fun(a = 2, b = 3)
# 可变关键字参数

????

python 复制代码
print(1, end=" ") # 默认换行
print(2)
相关推荐
夜幕龙2 分钟前
iDP3复现代码数据预处理全流程(二)——vis_dataset.py
人工智能·python·机器人
奶香臭豆腐27 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
晚夜微雨问海棠呀35 分钟前
长沙景区数据分析项目实现
开发语言·python·信息可视化
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
一道微光1 小时前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
m0_748256782 小时前
WebGIS实战开源项目:智慧机场三维可视化(学习笔记)
笔记·学习·开源
四口鲸鱼爱吃盐2 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python