Python学习 第二章 基础知识
要学习很牛B的编程技术之前我们还是得有点基础准备,哈哈,这是肯定的,那么我们现在就开始吧!!!
1.1 变量
变量是撒子嘛?不好意思啊,我学习下四川话,哈哈,那么什么是变量呢?我翻下书,书里是这样说的:当你把一个值赋给一个名字时,它会储存在内存中,这块内存就称为变量。
现在我们来看看一个经典的例子吧,这个你必须要掌握啊。
a = "hello,world!!!"
print(a)
执行结果:
hello,world!!!
恭喜你!你已经完成了第一个Python的程序编写了!!!
上面的示例告诉你,首先我们将一个字符串赋值给了一个名字:a(也可以说,把一个名字:a贴在了字符串身上)。
有变量就会有常量,可是Python却不支持常量,那常量我们怎么表示呢?哈哈哈,这个问题有点神奇,我们这样说吧,如果把一个常量名称写成大写的,且从不去修改赋给它的值,我们这样表示常量。如:P = 3.14(注意数学中的圆周率我们是pi这样标记的)
变量的命名规则:
变量名是字母、数字、下划线的任意组合。
变量名的第一个字符不能为数字。
Python里的关键字,不能用来作为变量名。
1.2 字符
计算机中一般是使用某个数字代表某个字符的:
ASCII码 用一个字节,也就是8bytes表示255个字符 对英语国家似乎够了
1980年 GB2312 6763个汉字、682个字符
1995年 GBK1.0 2W+个汉字
2000年 GB18030 2.7W+个汉字 嵌入式产品暂不支持
Unicode 用两个字节(2bytes)即16位表示
utf-8 en:1betys,zh:2betys
注意:Python2默认不支持中文,如要使用中文需要在代码前加上以下代码:
-- coding:utf-8 --
Python3默认支持utf-8的
1.3 字符串
用引号括起来的数字或者单个字符表示字符串,如:'a','123','你好!!!'。如果你要告诉Python你在创建一个字符串,就要在字符两边加上引号,单引号或双引号无所谓,但必须是成对的。
1.3.1原始字符串
如何用Python把C:\Program Files (x86)\360\360sd打印dayinba在屏幕上呢?
你不会是想这样的打印吧:
print("C:\Program Files (x86)\newsoft\talk")
你会发现显示结果是这样的:
C:\Program Files (x86)
ewsoft alk
这不是你想要的吧,为什么会是这样呢?原来是反斜杠和后面的首字符构成了转义字符\t代表换行,\p代表空格,懂了吧,那么我们要怎样解决这个呢?
我们可以这样干:
print(r"C:\Program Files (x86)\newsoft\talk")
对是这样的,Python中使用原始字符串可以解决这样的问题,原始字符串的使用非常简单,就是在字符串前面加一个英文字母r即可。
注意:无论是否原始字符串都不能以反斜杠作为结尾,反斜杠结尾表示字符串还没有完换行继续的意思。
1.3.2长字符串
本菜鸟今日突然词兴大发,想作词一曲,听好了啊:
破阵子·为陈同甫赋壮词以寄之
醉里挑灯看剑,梦回吹角连营。八百里分麾下炙,五十弦翻塞外声,沙场秋点兵。
马作的卢飞快,弓如霹雳弦惊。了却君王天下事,赢得生前身后名。可怜白发生!
大功告成,给我把它打印出来吧,呵呵,你怎么做呢?
要这样做吗:
print("破阵子·为陈同甫赋壮词以寄之\n醉里挑灯看剑,梦回吹角连营。八百里分麾下炙,五十弦翻塞外声,沙场秋点兵。\n马作的卢飞快,弓如霹雳弦惊。了却君王天下事,赢得生前身后名。可怜白发生!")
如果换行非常多呢怎么办?
使用三重引号字符串解决吧,如下:
print("""破阵子·为陈同甫赋壮词以寄之
醉里挑灯看剑,梦回吹角连营。八百里分麾下炙,五十弦翻塞外声,沙场秋点兵。
马作的卢飞快,弓如霹雳弦惊。了却君王天下事,赢得生前身后名。可怜白发生!""")
1.4 流程判断 if-else
金角大王说我们来玩个游戏吧,来猜我的年龄,猜对了就停,猜不对就继续,只有三次机会,让写成代码,该咋办呢?妈妈呀!
age_of_me = 32
guess_age = int(input("guess_age:"))
if guess_age == age_of_me:
print("是的,你猜对了!!!")
elif guess_age >age_of_me:
print("有点大!!!")
else:
print("你猜的小了!!!")
1.5 循环
1.5.1 while循环
老师说可以对1.4的程序用While进行修改,所以代码又被变成这样了。
age_of_me = 32
count = 0
while True:
if count == 3:
print("您的精彩次数已经超过三次,抱歉,此次竞猜结束!!!")
break
guess_age = int(input("您猜多大呢:"))
if guess_age == age_of_me:
print("您猜对了!!!")
break
elif guess_age > age_of_me:
print("您猜的大了!!!")
else:
print("您猜的有点小了")
count +=1
再优化一下吧,反正已经到这里了
age_of_me = 32
count = 0
while count < 3:
guess_age = int(input("您猜多大呢:"))
if guess_age == age_of_me:
print("您猜对了!!!")
break
elif guess_age > age_of_me:
print("您猜的大了!!!")
else:
print("您猜的有点小了")
count +=1
else:
print("您竞猜已超过3次,抱歉,本次竞猜结束!!!")
1.5.2 for循环
虽然水Python是由C语言写成的,但是for语句已经和C语言中的不太一样了,那么这个应该怎么写呢?
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
经过本莱鸟认真的构思,终于完成了如下代码:
for a in range(0,9) :
a = a + 1
for b in range(0,9):
b = b + 1
if a >= b:
print(a,"",b,"=",ab," ",end='')
print("\t")
以上就是本章的基本内容