python技术简介_python简介及基础

一、介绍

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

二、Python安装

windows

1、下载安装包

https://www.python.org/downloads/

2、安装

默认安装路径:C:\python27

3、配置环境变量

【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】

如:原来的值;C:\python27,切记前面有分号

Linux

无需安装,原装Python环境

ps:如果自带2.6,请更新至2.7

如果要安装3.0,yum安装

三、Hello World程序

在Linux 下创建一个文件叫hello.py,并输入

[[email protected] pylearn]# cat hello.py

print("Hello World!")

[[email protected] pylearn]# python hello.py

Hello World!

指定解释器和字符编码

#!/usr/bin/env python

#-- coding:utf-8 -- python2.x才需要

四、变量和注释

name = "Wang Xuan"

声明了一个变量name,值为:"Wang Xuan"

变量定义的规则

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

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

以下关键字不能声明为变量名

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量的赋值

name = "Phone"

name2 = name

print(name,name2)

name = "Jack"

print("What is the value of name2 now?")

注释

当行注视:# 被注释内容

多行注释:""" 被注释内容 """

五、用户输入

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import getpass

username =input("username:")

password =getpass.getpass("password:")

print(username,password)

六、模块

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持

sys

#!/usr/bin/env python

#-*- coding: utf-8 -*-

import sys

print(sys.argv)

#输出

$ python test.py helo world

['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了

os

#!/usr/bin/env python

#-*- coding: utf-8 -*-

import os

os.system("df -h") #调用系统命令

完全结合一下

import os,sys

os.system(''.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行

python tab补全模块

#!/usr/bin/env python

#python startup file

import sys

import readline

import rlcompleter

import atexit

import os

#tab completion

readline.parse_and_bind('tab: complete')

#history file

histfile = os.path.join(os.environ['HOME'], '.pythonhistory')

try:

readline.read_history_file(histfile)

except IOError:

pass

atexit.register(readline.write_history_file, histfile)

del os, histfile, readline, rlcompleter

七、数据类型初识

1、数字

2 是一个整数的例子。

长整数 不过是大一些的整数。

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

int(整型)

在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

Python3之后已经不转换了

float(浮点型)

先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

complex(复数)

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

注:Python中存在小数字池:-5 ~ 257

2、布尔值

真或假

1 或 0

3、字符串

"hello world"

万恶的字符串拼接:

python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。

字符串格式化输出

name = "alex"

print "i am %s " % name

#输出: i am alex

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:

移除空白

分割

长度

索引

切片

4、列表

创建列表:

name_list = ['alex', 'seven', 'eric']

name_list = list(['alex', 'seven', 'eric'])

基本操作:

索引

切片

追加

删除

长度

切片

循环

包含

5、元组(不可变列表)

创建元组:

ages = (11, 22, 33, 44, 55)

ages = tuple((11, 22, 33, 44, 55))

6、字典(无序)

创建字典:

person = {"name": "mr.wu", 'age': 18}

person = dict({"name": "mr.wu", 'age': 18})

常用操作:

索引

新增

删除

键、值、键值对

循环

长度

八、数据运算

算数运算:

fd0573fd3c4342866ee44eb4219fb212.png

比较运算:

9d3c1c91a5acb7a4a26a6769ccb2900e.png

赋值运算:

2b00a35cc8c876e95cc2b8305b3b11db.png

逻辑运算:

e2c108ade95489611111f6ba2b5dbbb5.png

成员运算:

e9bdb1d7d7e9cce7c16fa3e4467d1e98.png

身份运算:

08b2dd2c3d834b45728e7e6e62d4f650.png

位运算:

d56c47bf1591e5656d309e5ca517322d.png

运算符优先级:

d08755d7f7633fbba2422b69c660c39a.png

九、表达式if...else

例一

# 验证用户名和密码

# 如果错误,则输出用户名或密码错误

# 如果成功,则输出 欢迎,XXX!

user = 'wangxian'

passwd = 'shajiba'

username = input("username:")

password = input("password:")

if user == username:

print("username is correct...")

if passwd == password:

print("welcome login...")

else:

print("password is invalid")

else:

print("username is invalid,get out!")

例二

#!/usr/bin/env python

# -*- coding:utf-8 -*-

age = 22

guess_num = int(input("input your guess num:"))

if guess_num ==age:

print("congratulations,you got it.")

elif guess_num > age:

print("think smaller!")

else:

print("think big!")

外层变量,可以被内层代码使用

内层变量,不应被外层代码使用

十、for循环

最简单的循环10次

#_*_coding:utf-8_*_

for i in range(10):

print("count:", i )

输出:

count: 0

count: 1

count: 2

count: 3

count: 4

count: 5

count: 6

count: 7

count: 8

count: 9

需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

for i in range(10):

if i<5:

continue #不往下走了,直接进入下一次count

print("count:", i )

需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

for i in range(10):

if i>5:

break #不往下走了,直接跳出整个count

print("count:", i )

十一、while循环

死循环

count = 0

while True:

print("停不下来...",count)

count +=1

上面的代码循环100次就退出

count = 0

while True:

print("停不下来...",count)

count +=1

if count == 100:

print("给我停下来..")

break

回到上面for 循环的例子,如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

my_age = 28

count = 0

while count < 3:

user_input = int(input("input your guess num:"))

if user_input == my_age:

print("Congratulations, you got it !")

break

elif user_input < my_age:

print("think bigger!")

else:

print("think smaller!")

count += 1 #每次loop 计数器+1

print("猜这么多次都不对,你个笨蛋.")

enumrate

为可迭代的对象添加序号

li = [11,22,33]

for k,v in enumerate(li, 1):

print(k,v)

range和xrange

指定范围,生成指定的数字

print range(1, 10)

#结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

print range(1, 10, 2)

#结果:[1, 3, 5, 7, 9]

print range(30, 0, -2)

#结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]

补充

三元运算

result = 值1 if 条件 else 值2

如果条件为真:result = 值1

如果条件为假:result = 值2

进制

二进制,01

八进制,01234567

十进制,0123456789

十六进制,0123456789ABCDEF 二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1

计算机内存地址和为什么用16进制?

为什么用16进制

1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示)

2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便

3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好

4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算

16进制用在哪里

1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。

2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式

3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,4个16进制位可以表达好几百万的颜色信息。

一切皆对象

对于Python,一切事物都是对象,对象基于类创建

e79b4d23af7d05ce8fea043b73185377.png

值都是对象,并且是根据不同的类生成的对象。

0a4374a601646283886612469dddde40.png

6295a5ac70745780a2c1bf279b7ca220.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值