初学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 逻辑运算符

原文地址:https://www.cnblogs.com/CrazyDemo/p/9416254.html

时间: 2024-10-06 09:54:36

初学python随笔的相关文章

初学python随笔——列表生成器、生成器和迭代器

列表生成器 # 常见的是range()创建一个数字的列表 >>>[ x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 后边也可以加上判断语句 >>>[ x*x for x in range(10) if x%2 == 0] [0, 4, 16, 36, 64] # 字符也可以这么玩 >>> [m + n for m in 'ABC' for n in 'XYZ'] ['AX',

初学 Python(十一)——切片

初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age','sex','address','company'] #取前2个 print L[0:2] print L[:2] #取倒数第一个 print L[-1] #取后两个 print L[-2:] #取倒数第二个 print L[-2:-1] print len(L) #隔一个数取一次,从第一个数开

初学 Python(十三)——匿名函数

初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做对象 f = lambda x,y:x+y print f(1,2) #做参 print reduce(lambda x,y:x+y,[1,2,3,4,5,6]) #做返回值 def build(x,y): return lambda:x*x+y*y g = build(1,2) print g print g()

初学Python

初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔"编写开发一种易学易懂高效的语言. Python提供丰富的接口和模块,便于使用其他语言细化,性能提升对要求较高的软件. 以上简单描述了一下Python语言的优点,缺点我就不写了,因为不需要对比,强大的语言自会解决现在几个劣势. 针对于初学者版本选择的问题,因为现在国内大多数在使用2.X版本,个人建议使用3.

【初学python】错误SSLError: [Errno 1] _ssl.c:504:的解决记录

最近在实习公司学习使用python做web自动化测试,其中使用到httplib这个模板,主要用于与待测试界面建立HTTP连接,发送数据请求,接收请求状态码和查询数据,验证功能.但是新版本的web界面改成使用https协议,原来的测试用例都变成无法跑通的状态. 将协议从HTTP改成HTTPS后,报以下错误: SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown proto

初学Python(九)——函数

初学Python(九)--函数 初学Python,主要整理一些学习到的知识点,这次是函数. 函数定义: # -*- coding:utf-8 -*- #函数的定义 def my_function(x): if x>0: return x elif x<0: return -x else: pass #函数的调用 a = my_function(-1) b = my_function(2) c = my_function(0) print a,b,c #空函数,pass为占位符 def empt

初学 Python(十四)——生成器

初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 创建list中所有的元素,而 是在需要的时候创建 ''' #创建generator有2种方式 #第一种将列表表达式中的[]改为()即可 g = (x*x for x in range(10)) print g for n in g: print n #第二种,关键字yield def fab(ma

初学 Python(十二)——高阶函数

初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 称为高阶函数 ''' #函数作参 def f(x): return x*x #map函数为内置函数,意思为将第二个参数的list作用到f函数中 #最后的结果为一个list print map(f,[1,2,3,4,5]) #reduce函数为内置函数,意思将第二参数的序列作用到add函数值 #将结

初学Python(八)——迭代

初学Python(八)——迭代 初学Python,主要整理一些学习到的知识点,这次是迭代. # -*- coding:utf-8 -*- from collections import Iterable ''''' 迭代 ''' L = ['af','st','at','psst','beta'] D = {1:'af',2:'st',3:'at',4:'psst',5:'beta'} S = 'helloworld' #数组 for item in L: print item #字典 for