python基础(01)
击上方“Ahab杂货铺”,选择“置顶公众号”
技术分享第一时间送达!
今天开始更新python的基础知识,首先是为了能够帮助刚接触python的小白更好的学习python这门语言,其次是自己的一个知识巩固。注:我是认为你有C或者java语言基础的角度上去做的知识梳理。
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。我是基于python3做的知识总结,Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。
1.标识符
第一个字符必须是字母表中字母或下划线 _ 。
标识符的其他的部分由字母、数字和下划线组成。
标识符对大小写敏感。
以下划线开头的标识符是有特殊意义的。
注:
以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;
以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数
2.python关键字
import keywordprint(keyword.kwlist)
使用以上语句可以查看python中保留的所有关键字。
3.注释
Python中单行注释以 # 开头,多行注释可以用多个 # 号,还有 ''' 和 """
例如:
# 第一个注释
# 第二个注释
'''
第三注释 第四注释
'''
"""
第五注释 第六注释
"""
4.python代码块
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,这个地方是个坑,对于刚接触python的小伙伴来说,很容易在缩进的时候程序运行出错,希望可以引起大家的注意。
例如:
if True:print ("Answer")
print ("True")else:
print ("Answer")
print ("False") #缩进不一致,会导致运行错误
5.多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语,但是在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\)
例如:
total = item_one + \item_two + \
item_three
'item_three','item_four',
'item_five']
6.运算符
算数运算符:
+ - * / //取整 返回商的整数部分%取余 **幂运算 (次方运算)
注:
特别注意 // 取整运算 ,返回的结果是个整数,在刷题过程中深受其害。
9//2 输出结果 4 ,
9.0//2.0 输出结果 4
比较运算符:
== != > < >= <=比较运算符跟java语言是相同的。
赋值运算符:
= += -= *= /= %= **= //=逻辑运算符:
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
身份运算符:
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
注:
is 用于判断两个变量是否是引用同一个内存地址, == 用于判断引用变量的值是否相等。
is not与!=区别于上述一致,一个比较的是引用对象,另一个比较的是两者的值。
7.条件控制
python语言中的条件控制语句(分支语句)结构是if --elif--else,跟c和java唯一不同点就是elif的出现,其实就之前语言的else if。
注:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。
player = int (input("请输入石头1 剪刀 2 布3"))
computer = random.randint(1,3)
print ("玩家是%d - 电脑是%d"%(player,computer))
if ((player==1 and computer==2)
or (player==2 and computer==3 )
or (player==3 and computer==1)):
print ("电脑辣鸡")
elif player == computer:
print ("再来")
else:
print ("哦")
做个小练习对之前的知识进行巩固,没有涉及到的知识点可能是 input ()方法和引用random随机数。这是一个跟电脑PK的剪刀石头布利用了分支语句和运算符。
input()方法用于从键盘上获得一个输入量,括号内是输入的提示内容,执行时整个程序会暂停,输入完毕后回车键将内容输入程序,程序会继续执行。
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法