语言简介
1、Python是一门跨平台、开源、免费的解释型高级动态编程语言。
2、Python支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量扩展库。
3、Python优点:一是明确,简单,优雅,减轻构思性脑力劳动;二是强大的标准库;三是良好的扩展性;四是免费、开源。
4、缺点:一是运行速度慢;二是加密难;三是缩进规则;四是多线程灾难。
5、Pycharm常用快捷键:Shift+enter(从下一行开始编辑);
Ctrl+D(复制当前行);
Ctrl+/(注释或取消注释当前行)。
1、注释:在Python语言中,使用#进行行注释;
例如: #这是在代码之前的一个注释
shot_id = 1 #这是在代码所在行的注释
#这是在代码之后的一个注释
多行注释使用连续单个单引号或者双引号。
2、Python常用内置对象:python处理的一切都是对象。内置对象可直接使用,如数字、字符串、列表、del等。
非内置对象需要导入模块才能使用。
3、常量与变量:Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。
例如:>>> x = 3
创建了整型变量x并赋值为3;
①Python中的变量并不直接存储值,而是存储了值的内存地址或者引用。
②Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。
例如
>>> x = 3
>>> print(type(x))
>>> x = 'Hello world.'
>>> print(type(x))
注:变量名必须是大小写英文字母、数字或下划线_的组合,不能用数字开头,并且对大小写敏感,关键字不能用于命名变量,如and、as、class等。
③变量赋值:通过赋值运算符 = 变量名和想要赋予变量的值连接起来;
同一变量可以反复赋值,而且可以是不同类型的变量。
>>>shot_id = 1
>>>print shot_id,type(shot_id)
>>>shot_id = '1'
>>>print shot_id,type(shot_id)
④常量表示“不能变”的变量。
4、数据类型:整型、浮点型、字符串、布尔型和空值。
①整型(int):取值为整数,有正有负;
②浮点型(float):取值为小数,当计算有精度要求时被使用,由于小数点可以在相应的二进制的不同位置浮动;
③字符串(str):是以两个单引号或两个双引号包裹起来的文本
,字符串 Jump Shot 包括 J,u,m,p,空格,S,h,o,t 这9个字符;
转义字符:字符串里常常存在一些如换行、制表符等有特殊含义的字符,例如 \n 表示换行, \t 表示制表符,Python还允许用 r“ ” 表示“ ”内部的字符串默认不转义;
④布尔型(bool):只有True和False俩种值。比较运算和条件表达式都会产生True或False;布尔值可以进行 and 、 or 和 not 运算, and 和 or 运算分别用 & 和 | 表示; not 运算为非运算,把 True 变成 False , False 变成 True 。
⑤空值(NoneType):用 None 表示,一般用 None 填充表格中的缺失值
使用 type() 函数来获取某值的类型。
5、数字:①在Python中,内置的数字类型有整数、实数和复数。
二进制以0b开头,每一位只能是0或1。
八进制以0o开头,每一位只能是0、1、2、3、4、5、6、7这八个数字之一。
十六进制以0x开头,每一位只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f之一。
②Python支持任意大的数字,具体可以大到什么程度仅受内存大小的限制。
应尽量避免在实数之间直接进行相等性测试,而是应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据。
在数字的算术运算表达式求值时会进行隐式的类型转换。
③>>>0.3 + 0.2 #实数相加
④Python内置支持复数类型及其运算,并且形式与数学上的复数完全一致。
例如
>>> x = 3 + 4j #使用j或J表示虚部 >>> y = 5 + 6j
>>> x + y #支持复数之间的加、减、乘、除以及幂乘等运算
(8 + 10j)。
⑤ 在Python数字中单个下划线可以出现在中间任意位置,但不能出现开头和结尾位置,也不能使用多个连续的下划线。
>>> 1_000_000
1000000
>>> 1_2_3_4
1234
>>> 1_2 + 3_4j
(12+34j)
>>> 1_2.3_45
12.345
6、字符串: 在Python中,没有字符常量和变量的概念,只有字符串类型的常量和变量,单个字符也是字符串。使用单引号、双引号、三单引号、三双引号作为定界符来表示字符串,并且不同的定界符之间可以互相嵌套。 >>> x = x + 'morning' #字符串变量之间的连接可以使用加号
>>> x
'good morning'
7、Python运算符与表达式:在Python中,单个常量或变量可以看作最简单的表达式。运算符优先级遵循的规则为:算术运算符优先级最高,其次是位运算符、成员测试运算符、关系运算符、逻辑运算符等,算术运算符遵循“先乘除,后加减”的基本运算原则。
①算数运算符:
(1)+运算符除了用于算术加法以外,还可以用于列表、元组、字符串的连接,但不支持不同类型的对象之间相加或连接。
>>> [1, 2, 3] + [4, 5, 6] #表示连接俩个列表[1,2,3,4,5,6]
(2)*运算符除了表示算术乘法,还可用于列表、元组、字符串这几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。
>>> True * 3
3
>>> False * 3
0
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 'abc' * 3
'abcabcabc'
(3)运算符/和//在Python中分别表示算术除法和算术求整商。
>>> 3 / 2 #数学意义上的除法
1.5
>>> 15 // 4 #如果两个操作数都是整数,结果为整数
3
(4)%运算符可以用于整数或实数的求余数运算。
>>> 789 % 23 #余数
7
>>> 123.45 % 3.2 #可以对实数进行余数运算,注意精度问题
1.849999999999996
>>> '%c, %d' % (65, 65) #把65分别格式化为字符和整数
'A, 65'
>>> '%f,%s' % (65, 65) #把65分别格式化为实数和字符串
'65.000000,65'
(5)**运算符表示幂乘:
>>> 3 ** 2 #3的2次方,等价于pow(3, 2)
9
>>> pow(3, 2, 8) #等价于(3**2) % 8
1
>>> 9 ** 0.5 #9的0.5次方,平方根
3.0
>>> (-9) ** 0.5 #可以计算负数的平方根
(1.8369701987210297e-16+3j)
②关系运算符:Python关系运算符最大的特点是可以连用。使用关系运算符的一个最重要的前提是,操作数之间必须可比较大小。
>>> 1 < 3 < 5 #等价于1 < 3 and 3 < 5
True
>>> 3 < 5 > 2
True
>>> 1 > 6 < 8
False
>>> 1 > 6 < math.sqrt(9) #具有惰性求值或者逻辑短路的特点
False
③集合运算符
>>> [1,2,3] | [3,4,5] #并集,自动去除重复元素
[1,2,3,4,5]
④逻辑运算符:and,or,not常用来连接条件表达式构成更加复杂的条件表达式,并且and和or具有惰性求值或逻辑短路的特点,当连接多个表达式时只计算必要计算的值。
注意:运算符and和or并不一定会返回True和False,而是得到最后一个被计算的表达式的值,但是运算符not一定会返回True或False。
>>>3>5 and a>3 #注意此时并没有定义变量a
false
>>>3 and 5 #最后一个计算的表达式的值作为整个表达式的值
5
>>>3 and 5>2
true
Python还有赋值运算符=和+=、-=、*=、/=、//=、**=、|=、^=等大量复合赋值运算符。
Python不支持++和--运算符,虽然在形式上有时候似乎可以这样用,但实际上是另外的含义,要注意和其他语言的区别。
语句的分隔
如果拼接一个很长的字符串,或写一行很长的代码,可以使用反斜杠(\)进行分行显示。也可以使用圆括()。