2018-12-25python笔记

第2章 变量和简单数据类型

2.2 变量

1.变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_mesaage可行,但变量名greeting message会引发错误。
3.不要讲Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
4.变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_name好。
5.慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
注意就目前而言,应使用小写的python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。

2.3 字符串

2.3.1 使用方法修改字符串的大小写

1.在Python中,用引号括起来的都是字符串,其中的引号可以是单引号,也可以是双引号。
注意如果在字符串中还有引号,要与最外面的引号区分开来。例如,在用单引号扩起的字符串中,如果包含撇号,就将导致错误。
2.修改字符串大小写的方法(方法是Python可对数据执行的操作。在name.title()中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。):

name.title() ---> 将字符串的首字母大写
name.upper() ---> 将字符串的所有字母大写
name.lower() ---> 将字符串的所有字母小写(存储数据时用)

2.3.2 合并(拼接)字符串

1.Python使用加号(+)来合并字符串。
注意(+)号的两边的数据类型必须相同,例如:int/float + int/float , str + str

2.3.3 使用制表符或换行符来添加空白

1.在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。
2.要在字符串中添加制表符,可使用字符组合\t

>>>print("Python")                           >>>print("\tPython")
Python                        ------------>     Python

制表符的写法是\t,作用是对齐表格的各列。

print("学号\t姓名\t语文\t数学\t英语")
print("2017001\t曹操\t99\t\t88\t\t0")
print("2017002\t周瑜\t92\t\t45\t\t93")
print("2017008\t黄盖\t77\t\t82\t\t100")

学号          姓名    语文    数学    英语
2017001      曹操     99      88      90
2017002      周瑜     92      45      93
2017008      黄盖     70      82      100

3.要在字符串中添加换行符,可使用字符组合\n。

>>>print("Languages:\nPython\nC\nJavaScript")
Language:
Python
C
JaveScript

2.3.4 删除空白

1.可以使用方法.strip()进行删除字符串中的空白。
注意字符串中的空白删除需要引用函数replace或split,还有正则表达式

.rstrip() ---> 删除末尾的空白
.lstrip() ---> 删除开头的空白
.strip() ---> 删除两端的空白

>>> a = 'hello world'   
>>> a.replace(' ', '')
'helloworld'

>>> a = ''.join(a.split()
>>> print(a)
'helloworld'

2.3.5 使用字符串时避免语法错误

1.看到Python代码以普通句子的颜色显示,或者普通句子以Python代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。

2.4 数字

1.使用除运算得到的结果为浮点数。
2.从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们。但需要注意的是,结果包含的小数位数可能是不确定的:
3.无论加减乘除,如果等号左边出现了浮点数,那么右边的结果也将是浮点数。

>>>0.2+0.1
0.30000000000000000004
>>>3*0.1
0.30000000000000000004

2.5 注释

1.作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。
2.参考Python之禅


第3章 列表简介

3.1 列表是什么

1.列表是由一系列按特定顺序排列的元素组成。
2.列表、字典、集合、元组都是容器型数据类型。

3.1.3 使用列表中的各个值

1.使用函数时要注意元素的数据类型,例如:.函数title(),列表中的元素是字符串时才可使用

3.2 修改、添加和删除元素

1.你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。

3.2.1 修改列表元素

1.要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

>>>list = [24,12,33,11,99]
>>>list[2] = 88
>>>print(list)
[24,12,88,11,99]

3.2.2 在列表中添加元素

1.在列表末尾添加元素

>>>list.append(112)
[24,12,88,11,99,112]

2.在列表中插入元素,方法insert()在索引0处添加空间,并将值存储到这个地方,且列表中既有的每个元素向右移一个位置。

>>>list.insert(0,73)
[73,24,12,88,11,99,112]

3.2.3 从表别中删除元素

注意列表中的元素被删除后,列表既有元素的索引被改变,且在遍历列表时,被删除过的元素其索引将不会再被遍历。见例题。
1.使用del语句删除元素(如果知道要删除的元素在列表中的位置,可使用del语句,无法使用该元素

words = ["a","b","c","d"]
>>>del words[1]
["a","c","d"]

2.使用方法pop()删除末尾的元素(删除该元素并且可以使用该元素

>>>words.pop()
["a","c"]

3.使用方法pop()删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引。

>>>words.pop(0)
["c"]

注意判断标准:如果要从列表中删除一个元素,且不再以任何方式使用它,就是用del语句;如果要在删除元素后还能继续使用它,就使用方法pop(),del语句和pop()方法是通过索引删除元素。
4.根据值删除元素
1.在只知道要删除的元素的值时,可使用方法remove()。
2.使用remove()从列表中删除元素时,也可接着使用它的值。
注意方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。例如:

list = [1,2,3,1,1,4,1,5]
num = 1
sum = 0
for i in list:
    if num == i:
        # sum += 1
        list.remove(i)
# list.remove(i)
# sum += 1
print(sum,list)

输出为:
[2,3,4,1,5]

3.3.1 使用方法sort()对列表进行永久性排序

1.注意使用sort()和sorted()进行排序时,顺序都是按照字母顺序排列的,且大写优先于小写,当第一个字母相同时,就比较第二个字母,以此类推。
2.方法sort()对列表进行永久性排序,改变既有列表顺序;方法sorted()对列表进行临时排序,不改变既有列表顺序,相当于生成了一个新的列表。
3.如果要按与字母顺序相反的顺序排列列表元素,只需向sort()方法或sorted()方法传递参数reverse = True。如:sort(reverse = True)
如何使用参数reverse = True:

print(sorted(cars,reverse = True))

3.3.3 倒着打印列表

1.要反转列表元素的排列顺序,可使用方法reverse()。
2.注意:方法reverse()不是指按与字母顺序相仿的顺序排列列表元素,而只是反转列表元素的排列顺序。
3.方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此,只需对列表再次调用reverse()即可。

3.4 使用列表时避免索引错误

注意:当列表为空时,list[0]或list[-1]都会报错。
发生索引错误却找不到解决方法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。

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