初学python随笔
Posted crazydemo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学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运算优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 |
描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected]) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND‘ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
以上是关于初学python随笔的主要内容,如果未能解决你的问题,请参考以下文章