第一章 Python基础知识

基本概念

数据类型

可以用type()函数查看具体的类型。

type(100)
int
type("hello csdn")
str

输出与输出格式设置

Python中用print关键字进行输出,用str.format()或者f“”方法对输出格式设定。

print("hello csdn")
hello csdn
  • 一对一填充
print('我正在学习:{}'.format('Python基础知识'))
#也可以采用f方法
str='Python基础知识'
print(f'我正在学习:{str}')
我正在学习:Python基础知识
  • 多对多填充
print('我正在学习:{}中的{}'.format('Python基础课程','Python高级课程'))
我正在学习:Python基础课程中的Python高级课程
  • 浮点数设置
    .2f表示浮点型展示,显示小数点的后两位,也可以是.3f或其他
print("{}约{:.2f}亿".format("2023年中国XX人数",2.3))
2023年中国XX人数约2.30亿
  • 百分数设置
    .2%表示以百分比的形式展示,且展示小数点后两位,也可以是.3%或者其他
print("美国男性占总人的的比例:{:.2%}".format(0.519))
美国男性占总人的的比例:51.90%

缩进与注释

缩进
我们把代码的行首空白部分组成缩进,缩进的目的是为了标识代码块

注释
注释是对代码起到说明作用,并不真正运行。

#这是单行注释,不执行哦
print("hello csdn")
hello csdn
'''
方法一:
这是多行注释,
'''

"""
方法二:
这是多行注释
"""

print("hello csdn")
hello csdn

字符串

字符串的概念

字符串是由另个或多个字符串组成的有限串行,用单引号或者双引号括起来

字符串的连接

直接用+就可以将两个或两个以上的字符串进行连接。

"我正在学习"+"Python"
'我正在学习Python'

字符串的复制

使用操作符*进行字符串的复制

"Python大数据教程"*3
'Python大数据教程Python大数据教程Python大数据教程'

获取字符串的长度

使用len()函数来获取字符串的长度

len("17768555819")
11

字符串的查找

字符串查找指查找某一个字符串是否包含在另外一个字符串中,用in或者not in这两个方法均可以实现,返回布尔值。还可以用find方法,返回具体位置,如果不存在则返回-1。

"Python" in "Python数据分析"
True
"Python" not in "Python数据分析"
False
"Python数据分析".find("Python")
0
"Python数据分析".find("PHP")
-1

字符串索引

字符串索引是指通过字符串值所处的位置对值进行索取,字符串的位置是从0开始的

#获取字符串第1位值
a  = "Python数据分析"
a[0]
'P'
#获取字符串第4位值
a[3]
'h'
#获取字符串第2位到第4之间的值,且不包括第4位的值
a[1:3]
'yt'
#获取字符串第1到第4之间的值,且不包括第4位
a[:3]
'Pyt'
#获取字符串第7位到最后1位的值
a[6:]
'数据分析'
#获取字符串最后一位值
a[-1]
'析'

字符串分割

用split()函数,返回列表

"a,b,c".split(",")
['a', 'b', 'c']

移除字符

用strip()函数

#移除空格
" a ".strip()
'a'
#移除换行
"\ta\t".strip()
'a'
#移除指定字符
"LAMPk".strip("k")
'LAMP'

数据结构——列表

列表的概念

  • 列表(list)是用来储存一组有序数据元素的数据结构,元素之间用逗号隔开;
  • 元素包含在方括号内,元素可变;

新建列表

  • 建立一个空列表
    单方括号没有任何元素时,列表就是一个空列表
    null_list = [ ]
  • 建立一个int类型列表
    当方括号元素全位int类型时,这个列表就是int类型列表
    int_list = [1,2,3]
  • 建立一个str类型列表
    当方括号元素全是str类型时,这个列表就是int类型列表
    str_list = [“a”,“b”,“c”]
  • 建立一个int+srt 类型列表
    当放括号的元素既有int类型,又有str类型时,这个列表就是int+str类型
    int_str_list = [1,2,“a”,“b”]

列表的复制

列表的复制和字符串类似,用*操作符

int_list = [1,2,3]
int_list*2
[1, 2, 3, 1, 2, 3]
str_list = ["a","b","c"]
str_list*2
['a', 'b', 'c', 'a', 'b', 'c']

列表的合并

  • 利用+操作符
  • 用extend()函数
#利用+操作符
int_list = [1,2,3]
str_list = ["a","b","c"]
int_list + str_list
[1, 2, 3, 'a', 'b', 'c']
#用extend()函数
int_list = [1,2,3]
str_list = ["a","b","c"]
int_list.extend(str_list)
int_list
[1, 2, 3, 'a', 'b', 'c']

向列表中插入新元素

  • append()在列表末尾插入数据元素
  • insert()在列表指定位置插入元素
#在末尾插入元素
int_list = [1,2,3]
int_list.append(4)
int_list
[1, 2, 3, 4]
#指定位置插入元素
int_list = [1,2,3]
int_list.insert(3,4)#表示在第4位插入元素4,位置从1开始计算
int_list
[1, 2, 3, 4]

获取列表值出现的次数

利用count( )函数获取某个值在列表出现的次数

score_list = ["一班","二班","三班","二班","一班","一班"]
score_list.count("一班")
3

获取列表值出现的位置

  • 获取值的出现的位置,就是看该值位于列表中的哪里;
  • 用index()方法,位置从0开始
car_list =["保时捷","法拉利","兰博基尼","宝马","奔驰","奥迪"]
car_list.index("兰博基尼")
2

获取列表中指定位置的值

  • 普通索引(获取某一特定位置的数)
  • 切片索引(获取某一位置区间的数)
#普通索引
str_list = ["a","b","c","d","e","f","g"]
str_list[0]
'a'
#切片索引
#获取第2位到第4位的数,不包含第4位
str_list[1:3]
['b', 'c']
#获取开始到第4位的数,不包含第4位
str_list[:3]
['a', 'b', 'c']
#获取第2位到结束的数
str_list[1:]
['b', 'c', 'd', 'e', 'f', 'g']
#获取最后一位数
str_list[-1]
'g'

删除列表元素

  • pop()函数是指定位置删除,返回删除的值
  • remove()函数是元素进行删除,没有返回值,但是会移除列表中的某个值的第一个匹配项
#根据位置删除指定元素的
str_list = ["a","b","c","d","e","f","g"]
str_list.pop(1)
'b'
#根据值删除元素
str_list = ["a","b","c","d","e","f","g","a"]
str_list.remove("a")
#删除列表中所有的"a"
str_list = ["a","b","c","d","e","f","g","a"]
k = "a"
while k in str_list:
  str_list.remove(k)
str_list
['b', 'c', 'd', 'e', 'f', 'g']

对列表中的值进行排序

用sort()函数进行排序,默认是升序排列,传入参数reverse=True可以降序

#默认升序
s = [1,5,2,9,4,6]
s.sort()
s
[1, 2, 4, 5, 6, 9]
#传参reverse=True降序
s = [1,5,2,9,4,6]
s.sort(reverse = True)
s
[9, 6, 5, 4, 2, 1]

数据结构——字典

字典的概念

字典(dict)是一种键值对的结构

  • 键必须唯一
  • 键值对内部用冒号分隔
  • 各键值对用逗号分隔
  • 所有数据放在花括号中

新建一个字典

#向空白字典插入值
test_dict = {}
test_dict["张三"] = 15280001000
test_dict["李四"] = 13980001000
test_dict
{'张三': 15280001000, '李四': 13980001000}
#直接将键值对传入字典中
test_dict = {"张三": 15280001000, "李四": 13980001000}
test_dict
{'张三': 15280001000, '李四': 13980001000}
# 将键值对以列表的形式存放在元组中,然后用dict进行转换
contact = (["张三",1528000100],["李四",13980001000])
test_dict = dict(contact)
test_dict
{'张三': 1528000100, '李四': 13980001000}

字典中keys(),values()和items()方法

  • keys()方法用来获取字典内所有的键
  • values()方法用来获取字典内所有的值
  • items()方法用来获得到一组组的键值对
test_dict = {"张三": 15280001000, "李四": 13980001000}
test_dict.keys()
dict_keys(['张三', '李四'])
test_dict.values()
dict_values([15280001000, 13980001000])
test_dict.items()
dict_items([('张三', 15280001000), ('李四', 13980001000)])

数据结构——元组

元组的概念

元组(tup)与类表类似

  • 元组的元素不能修改
  • 元祖用小括号,列表用中括号

新建元组

直接将一组元素用小括号括起来即可
tup = (1,2,3)

获取元组的长度

使用len()函数

tup = (1,2,3)
len(tup)
3

获取元组内的元素

元组内元素的获取主要分为普通索引和切片索引与列表类似

#普通索引
tup = (1,2,3)
tup[2]
3
#切片索引
tup = (1,2,3)
tup[:2]
(1, 2)

元组与列表相互转换

  • list()函数将元组转为列表
  • tuple()函数将列表转为元组
#将元组转为列表
tup = (1,2,3)
list(tup)
[1, 2, 3]
#将列表转为元组
t_list = [1,2,3]
tuple(t_list)
(1, 2, 3)

zip函数

zip()函数用于将可迭代的对象(列表、元组)作为参数,将对象中对于的元素打包成一个个元组,然后返回这些元组组成的列表。常与for循环一起搭配使用。

#可迭代对象是列表时:
list_a = [1,2,3,4]
list_b = ["a","b","c","d"]
for i in zip(list_a,list_b):
    print(i)
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
#可迭代对象是元组时:
list_a = (1,2,3,4)
list_b = ("a","b","c","d")
for i in zip(list_a,list_b):
    print(i)
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')

运算符

算术运算符

用于算术运算

  • + 两数相加
  • - 两数做差
  • * 两数相乘
  • / 两数相除
  • % 返回两数相除的余数
  • ** 返回x的y次幂
  • // 返回两处相除以后商的整数部分

比较运算

主要用来比较,返回True或False

  • == 等于
  • != 不等于
  • <> 不等于
  • > 大于
  • < 小于
  • >= 大等于
  • <= 小等于

逻辑运算

  • and 同时为真结果才为真
  • or 只要一边为真,结果就为真
  • not 如果表达式为真,运算结果为False,反之为True

循环语句

for循环

for循环用来遍历任何序列项目

subject = ['Excel','SQL','Python','统计学']
for sub in subject:
    print('我目前正在学习:{}'.format(sub))
我目前正在学习:Excel
我目前正在学习:SQL
我目前正在学习:Python
我目前正在学习:统计学

while循环

while循环用来循环执行某程序,,即当条件满足时,一直执行某程序,直到条件不满足时,终止程序;

week = 0 #从0开始学
while week<= 7:
    print("我已经学习数据分析{}周啦".format(week))
    week +=1
print("我已经学习数据分析{}周啦,我可以去找工作啦".format(week-1))    
我已经学习数据分析0周啦
我已经学习数据分析1周啦
我已经学习数据分析2周啦
我已经学习数据分析3周啦
我已经学习数据分析4周啦
我已经学习数据分析5周啦
我已经学习数据分析6周啦
我已经学习数据分析7周啦
我已经学习数据分析7周啦,我可以去找工作啦

条件语句

if语句

  • if条件语句是先去判断某个条件是否满足,满足则执行判断后的语句
  • if条件后面的程序需要首行缩进
is_study = 1
if is_study == 1:
    print("可以找到好工作了")
可以找到好工作了

else语句

else语句是if语句的补充,即if不满足时执行什么程序

is_study = 1
if is_study == 0:
    print("很难找到好工作了")
else:
    print("可以找到好工作了")
可以找到好工作了

elif语句

用于多条件判断

score =int(input("请输入分数:"))
if score < 60:
    print("小于60分")
elif score < 70:
    print("60~70分")
elif score < 80:
    print("70~80分")
else :
    print("90~100分")    
请输入分数:30
小于60分

函数

函数是在一个程序中被重复使用的一段程序

普通函数

  • 普通函数一般有函数名(必需)、参数、语句块(必需)、return、变量这几部分组成
  • 函数定于的语法:
    def 函数名(参数):
    语句块
#定义一个return函数
def learn_python(location):
    doing = ("我正在{}上学Python".format(location))#注意{}中间不能敲空格
    return doing

learn_python("地铁")
'我正在地铁上学Python'

匿名函数

匿名函数就是没有名字的函数,省略了def定义函数的过程,lambda至于一个表达式,没有具体的函数体。使用方法如下:
lambda arg1,arg2,arg3,…:expression

  • arg1,arg2,arg3表示具体参数
  • expression 表示参数要执行的操作
f = lambda x,y:x+y
f(1,2)
3

高级特性

列表生成式 ✩✩✩

例:现有一个列表,需要对列表的每个值求平方,组成成一个新列表,对比两种方法

#普通方法实现
num = [1,2,3,4,5]
new = []
for i in num:
    new.append(i**2)
new    
[1, 4, 9, 16, 25]
#列表生成式
num = [1,2,3,4,5]
[i**2 for i in num]
[1, 4, 9, 16, 25]

现有两列表,需要列表的值两两组合

#普通方法实现
list1 = ["A","B","C"]
list2 = ["a","b","c"]
new =[]
for m in list1:
    for n in list2:
        new.append(m+n)
new        
        
['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc']
#列表生成式
list1 = ["A","B","C"]
list2 = ["a","b","c"]
[m + n for m in list1 for n in list2]
['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc']

map函数

  • map函数的表现形式是map(function,agrs), 表示对序列 args 中的每个值进行function操作,最终得到一个结果序列
  • map函数生成的结果序列不会直接显示出来,想要获得结果需要for循环遍历取出,或者用list方法生成一个列表
a = map(lambda x,y:x+y,[1,2,3],[3,2,1])
a
<map at 0x23e0d3b75c0>
for i in a:
    print(i)
4
4
4
b = list(map(lambda x,y:x+y,[1,2,3],[3,2,1]))
b
[4, 4, 4]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值