Python学习笔记

本文是作者学习Python的笔记,包括Python的特点、版本差异、编辑器选择、基本语法、Unicode编码、列表与元组操作、条件判断和循环结构的介绍,并通过实际练习加深理解。

一直听说python很好学,用的人也很多,但是由于自己一直是一个垃圾coder,对编程语言有着天生的畏惧。

终于拖到了今天,眼看着要开始研究生学习,痛下决心决定好好学习语言,不能再让编程困扰一生。

学习教程是廖雪峰的网站:点击打开链接 以及B站的小甲鱼教学视频。B站真是一个学习娱乐两不误的好地方呀嘻嘻。

7.8

准备工作:

  1. python是一门优雅简洁的语言,面向对象,有大量的现成模块可以直接使用。用python写代码的感觉他们说就像搭积木。等我日后考察一下是否属实。
  2. python的版本分成了2.x和3.x,从3.0开始python的语法做了大的改动,与2.x以前的完全不相容,不过这次改动也证明python是一个牛逼的语言,毕竟敢于割舍并不值得留的做全身大换血也需要勇气的嘛
  3. python在编写的时候可以用记事本,不过推荐使用Notepad++,微软自带的notepad在编译的时候会产生编码混乱的问题。另外还可以使用IDLE,这个很好用,人称shell,就是python的外壳的感觉。

下面是正式的语法部分的习题:

  • 输出print()      不需要加;表示结束,直接print()即可。输出字符串的话要用“”括起来。
  • 输入input()     默认输入的为字符串类型,需要变形的话用int()或者float()啥的变个型。另外,input()有个有意思的用法,可以直接用input("please input your number:")这样的话可以直接打印出please input your number:

请打印出以下变量:

# -*- coding: utf-8 -*-
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''
print('n=123')
print('f=456.789')
print('s1=\'Hello,world\'')
print("s1='Hello,world'")#形式2
print("s2='Hello,\\\'Adam\\\''")
print("s3=r'Hello,\"Bart\"'")
print("s4=r'''Hello,\nLisa!'''")

7.9

  • 在python中会存在不是统一码制的问题,所以Unicode出现了,在python中就使用这个。
  • 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。
  • 由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。

练习解答:
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:

# -*- coding: utf-8 -*-

s1 = 72
s2 = 85
代码如下:
s1 = 72
s2 = 85
r = (s2-s1)/s1*100
print("小明的成绩提升了%.2f%%" % r)

  • list是用来创建列表的,这是一个灵活可变动的列表。可以在其中插入,删除,索引(从0开始)。list中也可以嵌入其他list。
  • tuple也像是一个列表,只不过一旦建立就无法改动了。所以在有些时候用它会比list更安全。只有一个元素的tuple要在元素之后加上,以示区分。同理在打印只有一个元素的tuple的时候也要加,以示区分。
  • 有的tuple看起来会可变,其实质是其中插入了list

请用索引取出下面list的指定元素:

# -*- coding: utf-8 -*-

L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]
代码如下:
L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]
print(L[0][0])
print(L[1][1])
print(L[2][2])

打印出的是


  • 条件判断的语句是if,else,若是有多种情况可以使用elif来进行判断。不要忘记在if的语句后面加上:,冒号之后就属于这个代码块了,该代码块内除了第一条判断的语句都要缩进4个空格。
  • if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。

练习解答:

小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

  • 低于18.5:过轻
  • 18.5-25:正常
  • 25-28:过重
  • 28-32:肥胖
  • 高于32:严重肥胖

if-elif判断并打印结果:

# -*- coding: utf-8 -*-

height = 1.75
weight = 80.5
代码如下:
s1 = input('请输入身高:')
s2 = input('请输入体重:')
height = float(s1)
weight = float(s2)
BMI = weight/(height*height)
if BMI<18.5:
    print(BMI,"过轻")
elif BMI>=18.5 and BMI<25:
    print(BMI,"正常")
elif BMI>=25 and BMI<28:
    print(BMI,"过重")
elif BMI>=28 and BMI<32:
    print(BMI,"肥胖")
else:
    print(BMI,"严重肥胖")

成功可以打印,之后看了一下别人的代码,发现有更简化的写法。BMI>=18.5 and BMI<25可以写成18.5<=BMI<25即可。并且在打印的时候小数点有点多。可以改成:

elif BMI>=25 and BMI<28:
    print("%.2f%%" % BMI,"过重")

打印出来的就很好看啦。

7.10

  • 在需要进行很多次重复操作的时候,就需要一个可以解放人力的东西——循环。
  • 在循环里,可能会要出现1000,甚至10000等数字,总不能每一个每一个数字的手打,又不是手打面。所以,有一个叫做range()的函数可以生成序列。当然是从0开始的,range(5)的话生成的就是0,1,2,3,4
  • 循环1——固定的循环(必须按顺序;不能提前结束):for循环。for x in…… 就是从……中的第一个开始依次选取元素,直至最后。
  • 循环2——可以有循环条件的:while循环   while后面紧跟条件即可在满足条件的情况下循环
  • 可以提前结束循环的语句:break,和c中的功能一样,不能循环了就用break跳出来。
  • continue语句可以用来继续循环,当你不想结束循环的时候使用就行。通常它和楼上的break都必须和if在一起使用,大概这就是命运将他们紧紧相连吧!

练习

请利用循环依次对list中的每个名字打印出Hello, xxx!

L = ['Bart', 'Lisa', 'Adam']
for s in L:
    print('hello,',s,'!')

练习:请尝试写一个死循环程序

n = 1
while n>0:
 print(n)
 n = n+1

疯狂打印,按ctrl+c强制结束的。

dic()是字典函数。就是当年需要建立一个成绩表的时候,或者是需要对应关系的表格的时候,会很方便。

剩下的明天整理,骨王更新了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值