寒假Python之旅

寒假Python之旅

​ 尝试光看书自学Python)

1.23~1.25

​ 23号还挺有干劲不过后来就摸了(

​ 下次绝对不能这么堕落,学的挺少

第 1 章 起步

  • 首先我搭建了极其重要的编程环境这不是有手就行

  • 毕竟学过C,Hello World也是没有问题(没有分号真是太舒服辣)

2 章 变量和简单数据类型

  • 学习了变量这一节,错误还真是不好看啊(

  • 学习了字符串这一节,学到了方法方法 是Python可对数据执行的操作,比如在name.title() 中,name 后面的句点(. )让Python对变量name 执行方法title() 指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title() 不需要额外的信息,因此它后面的括号是空的。

  • +号可以拼接字符串

    换行符老样子\n

    \t是制表符,是指不使用表格的情况下在垂直方向按列对齐文本

  • 空白,泛指任何非打印字符,如空格、制表符和换行符。

    空白很重要,要删除多余空白。

    得到了方法strip(),它存在时可以暂时删除多余空白,没了它还是有空白,怎么办呢,要将删除操作的结果存回变量比如:

    hahaha=hahaha.rstrip()
    
  • title() 将每个单词的首字母都改为大写。

    upper()全大写

    lower()全小写

    lrstrip()只去前面的空白

    rstrip()只去后面

    strip()前面后面都去掉

  • 现在让我们认识一下单引号与双引号。

    ‘ & ” 我的建议是用双引号。因为这样可以在双引号里套单引号,不然message = ‘One of Python’s strengths is its diverse community.’ 你说在哪结束?

  • Python 2里的一些东西 我认为没有必要掌握(

  • 整数

    有加减乘除而且3/2=1.5!!!!!!!!

    使用表示次方,如5**6表示5的6次方

  • 浮点数

    Python将带小数点的数字都称为浮点数

    可以无脑算

    结果小数位数可能不确定,毕竟在计算机中浮点数其实是近似计算

    >>> 0.2 + 0.1 
    0.30000000000000004
    

    但这种真的不是抽风吗?!

  • 利用str()进行格式转换避免类型错误

    例如下面的错误示例

    age=18
    message = "Happy " + age + "rd Birthday!"
    

    age的格式是数字而另外两个是字符串,而python不知道你是打算拿23和字符串加减还是用来做字符加减(问就是电脑不如人脑)。

  • 在Python 2中…滚啊((

  • Python的注释用#而不是/*

  • Python之禅(自己看)

    >>> import this
    The Zen of Python, by Tim Peters
    
    Beautiful is better than ugly.			#更优美
    Explicit is better than implicit.		#更清晰
    Simple is better than complex.			#更简单
    Complex is better than complicated.		#在复杂中选择最简单
    Flat is better than nested.				#少嵌套
    Sparse is better than dense.			#别太稠密
    Readability counts.						#可读性很重要
    Special cases aren't special enough to break the rules.									 #特例不够打破规则
    Although practicality beats purity.		
    Errors should never pass silently.
    Unless explicitly silenced.				#不要无视错误,除非你故意
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.					  #存在多种可能时,尽量找到唯一的且明显的解决方法
    Now is better than never.				
    Although never is often better than *right* now.#动手前要好好想想
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.#能说清楚的方案才是好方案
    Namespaces are one honking great idea -- let's do more of those! #命名空间???是很好的想法,多多使用
    >>>
    

2.6~2.8

肥肠抱歉,我又摸了((实在羞愧

人下人这几天在看无职转生,坦白说还是有点意思的。

洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤洛琪希🤤

第 3 章 列表简介

​ 列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有 任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters 、digits 或names )是个不错的主意。 在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。

所以列表长得似乎有点像数组,不过放的东西更杂(

bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(bicycles)

['trek', 'cannondale', 'redline', 'specialized']
  • 直接打印列表会连带中括号完整打印出来。

  • bicycles[0] 取出第一个元素——整洁、干净

  • bicycles[0].title()也可以有

  • Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1 ,可让Python返回最后一个列表元素

  • 修改、添加和删除元素

    motorcycles.append('ducati') 
    
    print(motorcycles)
    

    其中append()是一种方法,将括号内元素加入列表

  • motorcycles = [] 创建空列表

  • 使用方法insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

    motorcycles = ['honda', 'yamaha', 'suzuki'] 
    
    motorcycles.insert(0, 'ducati')  # ❶
    
    print(motorcycles) 
    
    ['ducati', 'honda', 'yamaha', 'suzuki']
    

    在这个示例中,值’ducati’ 被插入到了列表开头(见❶);方法insert() 在索引0 处添加空间,并将值’ducati’ 存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置

    说人话就是在原列表的0处前面插进去一个元素(

  • 方法pop() 可删除列表末尾的元素,并让你能够接着使用它。术语弹出 (pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。(???)

    motorcycles = ['honda', 'yamaha', 'suzuki']
    
    print(popped_motorcycle)
    
    Suzuki
    

    其实pop(1)也可以用,可以弹出第二个元素

  • 方法remove()可以移除特定值的元素,比如

    motorcycles.remove('ducati') 
    

    然而只能移除第一个特定值,需要使用循环来删去所有的特定值。

做了一下四合一作业:

****3-4 嘉宾名单****:如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少3个你想邀请的人;然后,使用 这个列表打印消息,邀请这些人来与你共进晚餐。

****3-5 修改嘉宾名单****:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。 以完成练习3-4时编写的程序为基础,在程序末尾添加一条print 语句,指出哪位嘉宾无法赴约。 修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。 再次打印一系列消息,向名单中的每位嘉宾发出邀请。

****3-6 添加嘉宾****:你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。 以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print 语句,指出你找到了一个更大的餐桌。 使用insert() 将一位新嘉宾添加到名单开头。 使用insert() 将另一位新嘉宾添加到名单中间。 使用append() 将最后一位新嘉宾添加到名单末尾。 打印一系列消息,向名单中的每位嘉宾发出邀请。

****3-7 缩减名单****:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。 以完成练习3-6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。 使用pop() 不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进 晚餐。 对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。 使用del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实是空的。

成果:

guestlist=['mother','dad','friends']
print("I'd like to invite "+guestlist[0]+", "+guestlist[1]+" and "+guestlist[2]+" to join the party.")
print("Sorry, I just hear that "+guestlist[2]+" cannot come. Let's do that again.")
guestlist[2]='Ffriends'
print("I'd like to invite "+guestlist[0]+", "+guestlist[1]+" and "+guestlist[2]+" to join the party.")
print("Oh, come on! I find a bigger place. Now I want to invite three more guests.")
guestlist.insert(0,'The One')
guestlist.insert(2,'The Two')
guestlist.append('The Three')
print("I'd like to invite "+guestlist[0]+", "+guestlist[1]+", "+guestlist[2]+", "+guestlist[3]+", "+guestlist[4]+" and "+guestlist[5]+" to join the party.")
print("What a pity! Only two men can come.")
i=1
while i<5:
	print("Sorry, "+guestlist[i].title()+", you cannot come.")
	i=i+1

I'd like to invite mother, dad and friends to join the party.
Sorry, I just hear that friends cannot come. Let's do that again.
I'd like to invite mother, dad and Ffriends to join the party.
Oh, come on! I find a bigger place. Now I want to invite three more guests.
I'd like to invite The One, mother, The Two, dad, Ffriends and The Three to join the party.
What a pity! Only two men can come.
Sorry, Mother, you cannot come.
Sorry, The Two, you cannot come.
Sorry, Dad, you cannot come.
Sorry, Ffriends, you cannot come.

奇怪,while事哪来的啊(别骂了,不会for循环)

  • 组织列表

  • 方法sort()可以对列表进行永久按字母排序从A到Z

    也可以在括号内输入参数reverse=True来倒着排序

    通过使用函数sorted()可以对列表进行临时排序

    函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。()同样可以加入reverse=True

    想要反转原始排序,可以使用方法reverse()

  • 可以使用len()来获得列表长度(即元素数量)

第 4 章 操作列表

​ 痛改前非的第二天(

  • 有时需要对所有元素执行相同的操作,此时可以使用for循环

    结构:for XX(任意名字,此时表示列表内元素) in XXX(列表名):

    循环命令部分

  • 注意缩进,有缩进才算进循环里~~(废话)~~

  • range(5,10) 函数可以生成5到9所有整数

    还可以指定步长,譬如range(2,43,2)最后面的2指的是每个数字生成一次

>>> for value in range(1,5):
...     print(value)
...
1
2
3
4
>>>

没错最后面的数字就这么被吃了(

  • 函数list()可以将range() 的结果直接转换为数字列表

    就会这样:

    >>>numbers = list(range(1,6))
       print(numbers)
        
    [1, 2, 3, 4, 5]
    
  • 数个处理数字列表的函数

    min()找出最小值,max(),sum()

  • 列表解析:列表解析将for 循环和创建新元素的代码合并成一行,并自动

    附加新元素。

    squares = [value**2 for value in range(1,11)] #这是啥???
    print(squares)  
    
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
  • 可以处理列表的部分元素——Python称之为切片

  • 索引: 数组名[起始位置的数字:结束位置数字]

    players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
    print(players[0:3]
    
    ['charles', 'martina', 'michael']
    

如果你没有指定第一个索引,Python将自动从列表开头开始,结尾同理(冒号还是要打的)负数索引返回离列表末尾相应距离的元素

player[0:]  #从开头到结尾
player[:5]  #从开头到第四个
player[-3:] #最后三个
  • 复制列表,通过创建一个[:]的切片,赋给另一个列表即可
  • 不可变的列表被称为元组。元组看起来犹如列表,但使用圆括号而不是方括号来标识。但是可以直接重新定义元组。

设置代码格式

  • 每级缩进4个空格
  • 如果你混合使用了制表符和空格,可将文件中所有的制表符转换为空格
  • 一行不超过79字符,72更好
  • 要将程序的不同部分分开,可使用空行。一行就够了
  • 请访问https://python.org/dev/peps/pep-0008/ ,阅读PEP 8格式设置指南。

第 5 章 if语句

痛改前非的第三天

怎么说呢,突然看到了熟悉的东西(if语句),应该不会太麻烦吧(

if语句看起来和C语言很像,当然不可能完全一样

  • 格式:

    if  XXX:  #此处为条件,注意后面有冒号,也不要用括号括起来
        XXXX
    
    elif XXXX: #elif想加多少就加,也可以没有
    	XXXX
    
    else XXX:   #依旧注意冒号
    XXXX
    
  • 在Python中检查是否相等时区分大小写。(这不是挺好的嘛)

  • and要求所有都符合条件,而or只要一个符合

  • 检查数字,字符串是否相等,此处略过

  • 检查特定值是/否包含在列表中:格式:if XXX (not) in list:

  • 随着你对编程的了解越来越深入***(大嘘),将遇到术语布尔表达式* ,它不过是条件测试的别名。

    所谓条件测试,即为直接输入判断语句(不带if的那种),会输出True或者False,像这样

    >>> age_0 = 18 
    >>> age_0 >= 21 or age_1 >= 21 
    
    False
    

    条件判断和计算一样都是直接出成果,1+1==2等价于True,而1+1等价于2

    print(1+1==2)
    print(1+1)
    
    True
    2
    
  • 有时if-elif-else, 有时直接多个if并列即可

  • 在if 语句中将列表名用在条件表达式中时,Python将在列表至少包含一个元素时返回True ,并在列表为空时返回False 。

  • 关于格式,PEP 8的建议是,在诸如== 、>= 和<= 等比较运算符两边各添加一个空格。

做了作业,懒得复制题目了(((

VIPlist=['DAB','YMS','YMSD','YMSSD','admin']
if VIPlist:
    for VIP in VIPlist:
        if VIP=='admin':
            print("Hello admin, would you liketo seeastatus report?")
        else:
            print("Hello "+VIP+", thank you for logging in again.")
else:
    print("We need to find some users!")
current_users=['DAB','YMS','YMSD','YMSSD','admin']
new_users=['YMSSD','admin','LMY','ADDD','Roxy']

for user in new_users:
    if user in current_users:
        print("Another name plz")
    else:
        print("OK")
 
numbers=list(range(1,10))
for number in numbers:
    if number == 1:
        print("1st")
    elif number == 2:
        print("2nd")
    elif number == 3:
        print ("3rd")
    else:
        print(str(number)+"th")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值