python 学习总结

数据蛙第一期课程已经进行了两周了,最近一周学习的内容是 python 相关,这里总结性地概况课程内容,以作知识回顾参考。

一、python 的基础知识

1、数据类型

数字型:int、float、Boolean
非数字型:字符串、列表、元组、字典

可变类型:列表、字典
不可变类型:数字、字符串、元组

格式化字符串:两种写法

a、python 的格式化字符串 ,使用%
如果希望输出文字信息的同时输出数据,那就需要使用到格式化操作符,%被称为格式化操作符,钻们用来处理字符串中的格式。包含%的字符串,被称为格式化字符串。不同类型的数据需要使用不同的格式化字符。

  • 常用格式化字符: 含义
    %s :字符串
    %d :有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
    %f :浮点数,%.2f 表示小数点后只显示两位
    %%: 输出 %
    使用方法:
print("格式化字符串"%变量1)
print("格式化字符串"%(变量1,变量2))
name='datafrog'
stu_no=1
print("我是%s"%name)
print("我的学号是%06d"%stu_no)
print("%s的级别是%s,分数是%s"%(score,grade,score))
# 关键字参数形式,注意后面是参数字典不是参数元组了
print("%(score)s的级别是%(grade)s,分数是"%{"score":score,"grade":grade})
######b、使用 format 来进行格式化字符串:
a、使用位置参数,{}的值对应填充 fromat 后面的变量
print("{}的级别是{}".format(score,grade))


还可以使用 0、1 编号进行多个引用,0、1分别大表 format 后面变量的位置
print("{0}的级别是{1},分数是{0}".format(score,grade))

甚至还可以使用参数列表,但是 format 后面要用 *list
list=[score,grade]
print("{0}的级别是{1},分数是{0}".format(*list))

b、使用关键字参数:

print("{score}的级别是{grade},分数是{score}".format(score=score,grade=grade))

可以使用字典来传递关键字参数,但是要用 **hash
hash = {'name':'hoho','age':18}```
'my name is {name},age is {age}'.format(**hash)
'my name is hoho,age is 18'

c、其他一些用法,引用变量时加上冒号,然后写规则即可
右对齐,改成< 就是左对齐,这里1 是位置参数,不写就是对应的第一位即8

print("{1:*>10}".format(8,9))
结果是
*********9

精度与进制:变量后面加上冒号就可以指定输出形式

'{0:.2f}'.format(1/3)
'0.33'
千分位格式化:
print("{1:,}".format(8,9))

2、变量

通常数据都是让变量来引用和保存的

变量是 python 中的重要概念,python 作为一门动态语言,就是体现在变量命名时不需要指定类型,而是可以指向任意类型的数据。变量命名也是有规则的,即必须是有数字、字母、下划线组成且不能数字开头,除此之外变量名还有一个写法上的通用原则:驼峰命名法

123.jpg

小驼峰:首字母小写后面单词首字母大写
大驼峰:每个单词的首字母都大写
一般函数、变量名用小驼峰,模块和类名用大驼峰

3、控制流

python 程序运行都是从上到下依次运行,但是可以通过控制流来人为改变运行逻辑。
if :条件判断
while、for:两种循环

    而如果要在循环体内再次人为改变逻辑,就需要用到 breake、continue了,特别注意这两个破坏循环规则的语句都只作用在最近一层的 for、while 循环上。

4.函数

函数的出现是为了节省代码,减少冗余。

def func():
  print(' 调用了函数')

匿名函数:
     常用来构建列表 list=[i for i in range(6)]
     还可以搭配 map 函数来使用,map(func,[1,2,3,4,5]) 会将列表中得数组依次传入 func 函数得到结果,得到一个map 值,再用 list 转换一下就可以得到一个列表

函数参数(重点理解):

函数的参数:形式参数的定义以及实际参数的写法

a、位置参数:实参+定义。就是实参会一一对应到形参上

def func(num1)
print(num1)
func(10)


b、默认参数:定义。有默认值,如果传入了实参就用实参,定义的时候要在非默认参数后面
正确:def func(num1,num2=10)
错误:def func(num1=10,num2)


c、关键字参数:实参。传入实际参数时,指定参数名字来传递数据,一般有一个实参用的是关键字参数,其余也要用,不然容易造成一个参数多个值的错误。
func(num1=12,num2=10)
func(12,num2=10)


d、元组可变参数:定义。可以接收任意数量的位置参数。使用 *args 来接收,会将接收到的值自动组包成一个元组赋给args,参数变成元组了
def func(num1,*args,name):
    print(num1)
    print(args)
    print(name)

func(10,2,3,4,name='lan')
结果:这里是位置参数+元组可变参数
10
(2, 3, 4)
lan


e、字典可变参数:定义。可以接收多余的关键字参数,用 **kwargs 来接收。必须放到参数列表最后,不然报错。参数变成字典了
def func(num1=0,**kwargs):
    print(num1)
    print(kwargs)

func(2,a=3,b=4)
结果:
2
{'a': 3, 'b': 4}


注意:
a、如果实参用了关键字参数,最好就都用关键字参数。字典可变参数必须要放到最后面(比默认参数还要后),元组可变没有顺序要求。
左右:普通参数《==元组可变《==默认参数(应该靠后)《==字典可变(必须最后)
除了字典可变,其他顺序不是绝对,如果顺序有变化,实参中可以用关键字参数来调节
b、如果形参里面既有 默认参数,又有可变参数,那么要将默认参数放到最后面,并且赋值时必须要用关键字参数。这也符合默认参数放到非默认参数后面的原则
def func(num1=0,*args):
    print(num1)
    print(args)
# 像这里本来时像把 2,3,4 都给 args ,可以由于位置参数的原因,最终是num1=2,rags=(3,4))
func(2,3,4)

变成如下就好了
def func(*args,num1=0):
func(2,3,4,num1=10)

二、python 2、python3 的一些区别

1、python2:print 函数可以不加括号
     python3:print 函数必须要加括号
2、python2:使用中文时,代码开头要加声明 # encoding:utf-8
     python 3:可以直接使用中文
3、python2:/ 除法只保留整数部分,除非有 float 数据参数运算
     python3:/ 除法得到完整结果,// 得到结果的整数部分
4、python2:python2 有两个输入函数
          input() : 返回的结果类型会自动推导
          raw_input():返回的结果都是字符串
     python3::只有一个输入函数,input() ,返回的结果一定是字符串
5、字典的 keys,values,items 属性
     python2:返回的都是列表
     python3:返回的是视图对象,可以理解为列表,可以转换成列表使用,也可以直接使用

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容