初学python随笔

首先说编程语言分为编译型、解释型和混合型,其中python是属于解释型语言,下表为常见语言分类

 

编译型vs解释型

编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

缺点:每次运行的时候都要解释一遍,性能上不如编译型语言

以上为一些概念,不过多累述了。在学习python之前学过java开发,但是接手一段时间Python之后,我自己感觉到Python写起来的确要比java简单、而且代码量明显的要少很多。

下面上干货(安装配置绝对不讲)

声明变量

name = 'Demo'                   # 字符串
age = 18                        # 整数
miles = 1000.0                  # 浮点数
name,age = 'Demo',18           # 多个变量赋值

python的变量声明就是这么简单粗暴,直接用,这又引出后边学习时候的一句话,万物皆对象的概念。

变量定义的规则

变量名只能是数字、字母、下划线组成的任意组合

变量名第一个字符不能是数字

以下关键字不能作为变量名

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from',

'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Python是区分大小写的

以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;

以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数

注释

在Python中注释为两种,一种单行注释,一种多行注释

# 这是一个单行注释

'''
这是一个多行注释
可以在此空间写任意字符
'''

 

Python中的数字类型

int(整数)  、正常的数字1234,在Python3相当于长整型,没有python2的Long类型

bool(布尔)、True和False

float(浮点数)、1.23、3E-2

complex(复数)、1+2j、1.1+2j

Python中的字符串

Python中的字符串,可用+拼接,可进行*运算,可切片,下面为字符串的一些方法,单独写个随笔来记录了

# 字符串拼接
name = 'Demo'
age = '18'
my = name + ' is ' + age
print(my)
'''
输出结果
Demo is 18
'''

# 注意我这里的age定义的是字符串类型,所以能相加,如果写成age = 18 会报错

# 字符串相乘
print(name*3)
'''
输出结果
DemoDemoDemo
'''

  

Python之input

input是让用户输入内容使用,如

name = input('输入你的名字')
password = input('输入你的密码')


'''
容易出现问题的是:input返回的是字符串,所以在做判断的时候如果要跟数字比较
一定一定一定就进行类型转换
'''

# 如果不想看到密码输入的内容,我们可以用getpass模块来进行修改

import getpass

password = getpass.getpass('请输入密码')    # 此时在用户输入界面是看不到密码的

print ('password = %s'%password)          # 验证  代码中的 %s为占位符  占位符有这几种 字符串%s;整数 %d;浮点数%f

Python的算数运算

运算符 描述 实例 a,b = 10,22
+ 相加 a + b 输出结果 32
- 相减 a - b 输出结果 -12
* 相乘 a*b 输出结果 220
** 幂-返回x的y次幂 b**a 输出结果26559922791424
/ 相除 b/2 输出结果 2.2
// 整除 b//a 输出结果 2
% 取余数 a%b 输出结果 10

Python的比较运算

运算符 描述 实例(返回布尔)a,b = 10,12
== 比较对象是否相等 a==b 返回 False
!= 比较是否不相等 a!=b 返回 True
<> 同上 a<>b 返回 True
> 大于 a>b 返回 False
< 小于 a<b 返回 True
>= 大于等于 a>=b 返回 False
<= 小于等于 a<=b 返回 True

Python的赋值运算

运算符 描述 实例 a,b = 10,20
= 简单赋值运算符 c = a+b 将a+b结果赋值给c 
+= 加法赋值运算符 c += a 等效 c = c+a
-+ 减法赋值运算符 c -= a 等效 c = c-a
*= 乘法赋值运算符 c *= a 等效 c = c*a
/= 除法赋值运算符 c /= a 等效 c = c/a
%= 取模赋值运算符 c %= a 等效 c = c%a
**= 幂赋值运算符 c **= a 等效 c = c**a
//= 取整除赋值运算符 c //= a 等效 c = c//a

Python位运算符

python位运算符有&、|、^、~、<<、>> 这些,是把数字看成二进制进行运算,平时用的不多,也不太感兴趣就不写了

Python逻辑运算符

运算符 逻辑表达式 描述 实例 a,b = 10,20
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not x not y 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

Python成员运算符

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

Python身份运算符

运算符 描述 实例
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。

python运算优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符

描述

** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

猜你喜欢

转载自www.cnblogs.com/CrazyDemo/p/9416254.html