当前位置: 首页 > news >正文

Python入门基础

一、Python简介

 

  Python是著名的“龟叔” Guido van Rossum在1989年的阿姆斯特丹为了打发无聊时间开发的一个新的编程语言。      

   龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,适合新手学习。


Python创始人 "龟叔"

 

 

  Python应用领域

  Python是一门 全栈式开发语言,主要应用于数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。

  Python的优缺点

  Python面向对象,免费,可移植,功能强大,简单易学,容易上手。Linux内置Python。

  Python也有缺点,主要是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

 

二、第一句Python代码

     print("Hello World!")

 

    python内部执行过程如下:

    

 

三、更新Python

  Linux系统自带Python,无需安装,不过默认安装的版本较低,更新即可。  

 1 查看默认Python版本
 2 python -V
 3  
 4 1、安装gcc,用于编译Python源码
 5     yum install gcc
 6 2、下载源码包(本文以Python3.5.1为例)
    wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz 7 3、解压并进入源码文件 8 4、编译安装 9 ./configure --prefix=/usr/local/python35 10 make all 11 make install 12 5、修改默认Python版本 13 mv /usr/bin/python /usr/bin/python2.6 14 ln -s /usr/local/python35/bin/python3 /usr/bin/python 15 6、防止yum执行异常,修改yum使用的Python版本 16 vi /usr/bin/yum 17 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

 

 

四、脚本传参

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数,argv类型为列表

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3  
4 import sys
5  
6 print sys.argv   

[root@localhost ~]# python argv.py 
['argv.py']
[root@localhost ~]# python argv.py 8080
['argv.py', '8080']

 

五、输入

 

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3  
4 # 将用户输入的内容赋值给 name 变量
5 name = input("请输入用户名:")
6  
7 # 打印输入的内容
8 print name

 

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3  
 4 import getpass
 5  
 6 # 将用户输入的内容赋值给 name 变量
 7 pwd = getpass.getpass("请输入密码:")
 8  
 9 # 打印输入的内容
10 print(pwd)

 

六、基本数据类型

1、数字

   2 是一个整数的例子。

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

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

(-5+4j)和(2.3-4.6j)是复数的例子。

 

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 

2、字符串

 

字符串格式化 

1 name="flash"
2 print("I am %s" %name)
3 
4 #输出: I am flash

 

PS: 字符串是 s% ; 整数是 d%;浮点数是 f%;原样打印是 %r.      

1 print("字符串:%s 整数:%d 浮点:%f 原样打印:%r" % ('aa',2,1.5,'r'))
2 
3 #输出  字符串:aa 整数:2 浮点:1.500000 原样打印:'r'

       

字符串常用功能:

  • 移除空白    strip
  • 分割          split
  • 长度          len(obj)
  • 索引          obj[1]
  • 切片          obj[1:] , obj[1:10]

 

 

2、列表

创建列表:

     name_list = [alex,john,flash]      

     或

     name_list = list([alex,john,flash])

基本操作:

  • 索引   index
  • 切片   :
  • 追加   append
  • 删除   del  remove   pop
  • 长度   len
  • 循环   for,while (foreach)   中断  break;continue(跳出循环);pass;return;exit
  • 包含   in;not in  __contains__

3、元祖

    元祖元素不可修改,元祖元素的元素可以修改  

1 t1 = (11,22,{'k1':'v1'})
2 t1[2]['k1']=3
3 print(t1)

4、字典(键值对)

健、值、键值对

keys、values、items

 

5、应用示例

  

 1 '''
 2 account.txt文件中的内容为:
 3 flash|12345|1
 4 alex|23456|1
 5 tony|34567|1
 6 要求把它转换成下面的字典格式:
 7  8     "flash":{'pwd':'12345','登录次数':1},
 9     "alex":{'pwd':'23456','登录次数':1},
10     "tony":{'pwd':'34567','登录次数':1}
11 12 '''
13 
14 match = {}
15 with open("account.txt","r") as f:
16     for i in f.readlines():
17         i = i.strip().split("|")
18         match[i[0]]={"pwd":i[1],"登录次数":i[2]}
19 print(match)

 

转载于:https://www.cnblogs.com/Rambotien/p/5395491.html

相关文章:

  • 虚拟现实与大数据
  • 市场监管总局:保健食品应标注不具疾病预防治疗功能
  • Linux进程管理之“四大名捕”
  • 甘肃崆峒古镇“文化赶集”:非遗“上台”贺新春
  • [共享WIFI]将笔记本网络设置为共享WIFI
  • python之logging模块
  • MySQL创建用户与授权
  • 中国PPP管理库项目累计投资额13.2万亿元
  • 三亚:严查“先登记支付房款、后补交社保或个税”行为
  • nginx+nagios在ubuntu下搭建过程全程指导
  • 2019年2月
  • NTFS与FAT32有什么区别
  • 常用Linux shell命令汇总
  • Kafka 消费者组示例
  • 【转】JAVA基础知识总结
  • 4个实用的微服务测试策略
  • echarts花样作死的坑
  • nginx 负载服务器优化
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python 反序列化安全问题(二)
  • quasar-framework cnodejs社区
  • Redis学习笔记 - pipline(流水线、管道)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue-router 实现分析
  • XForms - 更强大的Form
  • 记录:CentOS7.2配置LNMP环境记录
  • 全栈开发——Linux
  • 如何选择开源的机器学习框架?
  • 如何在 Tornado 中实现 Middleware
  • 十年未变!安全,谁之责?(下)
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 提醒我喝水chrome插件开发指南
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 项目实战-Api的解决方案
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (3)nginx 配置(nginx.conf)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (黑马C++)L06 重载与继承
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET中统一的存储过程调用方法(收藏)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • /var/lib/dpkg/lock 锁定问题
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @Bean, @Component, @Configuration简析
  • @property括号内属性讲解
  • @staticmethod和@classmethod的作用与区别
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [C# 网络编程系列]专题六:UDP编程
  • [C++随笔录] 红黑树