Python入门:Python基础笔记
(C语言:)C语言是相对C++、C#、Java等语言更接近底层,并且一些硬件编程都可以使(只能使用)C语言。另外C语言学起来相对困难,因为涉及到指针,指针也是语言接近底层语言的一个特征。目前编写较大的项目、软件等,一般不会使用C语言,使用一些高级语言会提高开发效率,缩短开发周期。这也就导致一个问题,使用C语言像写出一个像样点的应用是不容易的(不仅限于功能),即使C语言再精通,只是对计算机的底层了解更深,写出真正的软件还需要其他各种支持。
(Python:)就自己的理解,Python入门还是很容易的。Python语言简洁,相比C语言学起来更加有趣,Python的简洁是建立在强大的lib支持。新手学习语言一般会急于自己写一个像样点的App(例如小游戏、小型管理系统等),用Python实现要比C语言简洁的多,甚至C语言高手要写出个可玩的游戏也是很困难的。另外Python流行起来是由于当前的数据分析、收据挖掘。这可能是Python的强项。
C语言执行效率高,Python语言开发效率高(不需要管理内存,虚拟机提供开放内存,释放内存)
cpython和pypy的内部执行过程(左:cpython 右:pypy)
解释器:#!/usr/bin/python(这一行用来指定python的解释器在哪),Liunx下,执行前需给予 hello.py文件执行权限,命令:chmod 755 hello.py (ps:windows下无效)
编码:
ascii 8位:可以表示出所有的英文,数字,字符。01001010 可以组合成 2**8=256种可能,这就是 ascii码(译音:阿斯克) ,原来编码的叫阿斯克码,不能识别所有的字符(比如汉字等等)!
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
unicode (统一码、万国码、单一码)最少用2个字节:(1byte字节=8bit位=01010101,所以最少就是要使用16位0101010101010101,一个汉字等于3个字节,吴永聪=9字节 1个字节等于8位,这个名字就等于24位)万国码 unicode(译音:油泥扣得)后来出现的叫万国码,能识别世界上所有字符!用ascii码 表示A的话,A=65 ‘0b1000001’b代表用2进制表示,一共8位!但是万国码最少用2个字节,也就是16位,前面没有,就要补8个零,‘000000000b1000001’就白白浪费了内存空间,所以万国码不可取!(缺点:它最少要使用2个字节,也就是16位来表示)
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8编码:它就是unicode加工而来:对于所有英文,数字,字符都是用8位表示,对于欧洲的文字用16位,中文用24位。.... 其实就是对unicode里面的所有包含的字符进行的划分。适合用8位的就用8位,适合16位的就用16位表示,大大节省了unicode所占的内存空间!
GBK GB2312编码类似于UTF-8
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以刚才用python运行 print ‘你好,世界’ 的时候下图中的报错,Non(译音:那俺)-ASCII charater(译音:卡瑞克测)意思就是 没有ascii码对应的字符!因为ascii码不能识别汉字!
代码顶部解释器加上 # -*- coding(译音:寇丁): utf-8 -*- 这段代码告诉Python用UTF-8编码来识别!(Python2.X默认使用的ascii码!Pyrhon3.X默认使用的utf-8编码,所以不用在解释器加以上代码)
养成写代码之前必须加上以下两行:
#! usr/bin/env/python #解释器
# -*- coding: utf-8 -*- #编码
#! usr/bin/env python 和 #! usr/bin/python 的区别:
在unix类的操作系统才有意义。 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器; #!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
这跟linux系统里安装python的目录有关 #!/usr/bin/python相当于写死了python路径; #!/usr/bin/env python会去环境设置寻找python目录,所以推荐这种写法。
四、注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
一个项目是由多个.py文件组成的,.py的种类
1.python为用户提供的 #类库,D:/python/lib (导入就行)
2.自己写一个.py
3.网上下载别人的.py文件
import(译音:哎木跑特) 另一个.py文件名 #导入另一个.py
生成的.pyc文件是缓存文件
交互:
import getpass(译音:哎母泡特 盖特怕思)#Python3.0系列将raw_input作为垃圾扔掉了。。。 改用input
i1 = raw_input(译音:ruai_因普特) ("请输入用户名")
#i2 = raw_input ("请输入密码")
i2 = getpass.getpass("请输入密码")#将用户输入的内容不可见,
print(i1)
print(i2)
流程梳理:
1.创建XXX.py文件
PS:不要有中文路径,文件名也不要中文
2.写代码
PS:头部加上特殊的两行,写功能代码
3.执行代码
PS:打开终端,功能键+R+cmd,输入python+空格+代码文件的路径
Python入门:Python基础笔记的更多相关文章
- Python之路,第一篇:Python入门与基础
第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...
- Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...
- Python入门篇-基础语法
Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- 知了课堂 Python Flask零基础 笔记整理
目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...
- Python入门和基础
Python应用领域 Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube ...
- python学习笔记一 python入门(基础篇)
简单介绍一下python2.x和3.5的区别 print 在python3.5中print 变为print() Old: print * New: print( * ) 如果想要不换行,之前的 ...
- Python入门 —— 02基础语法
基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 ( ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...
- Python之路,第十五篇:Python入门与基础15
python3 异常 异常(基础) 什么是错误? 错误是指由于逻辑或语法错误等,导致一个程序已无法正常执行的问题. 什么是异常? 异常是程序出错时标识的一种状态,当异常发生时,程序不会再向下执行, ...
- Python Numpy,Pandas基础笔记
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...
随机推荐
- javascript中的style只能取到在HTML中定义的css属性
如果在css中定义的 li{ width:100px; left:100px; top:; position:absolute; font-style:normal; } 这样执行: oli[0].s ...
- BZOJ 1899&&luogu P2577: [Zjoi2004]Lunch 午餐 贪心+DP
贪它,再大力DP(话说觉得此题简单的真的是大佬QAQ)我想了两天...QWQ 贪心:吃饭慢的先打饭(不太会证...) DP:f[i][j]表示前i个人,在1号窗口打饭的总时间时j,的最短时间 确定i的 ...
- 解决Linux下SSH等终端乱码问题
1.vi /etc/sysconfig/i18n Centos5.5原来内容是: //LANG="en_US.UTF-8" //SYSFONT="latarcyrheb- ...
- E. Karen and Supermarket
E. Karen and Supermarket time limit per test 2 seconds memory limit per test 512 megabytes input sta ...
- Control中的AOP实现非业务需求
一.能够使用Control中的AOP实现非业务需求的功能 本文目录 一.ActionFilterAttribute类 二.实现自定义Attribute 一.ActionFilterAttribute类 ...
- Vue部分知识
一.本尊建议的学习顺序:https://zhuanlan.zhihu.com/p/23134551(侵删) 二.安装: 1.安装 Node.js,可以去Node.js的官网上下载: 2.(非必选)如果 ...
- Redis sorted set(有序集合)
Redis 有序集合是string类型元素的集合,元素不允许重复. 有序集合中的每个元素都会关联一个数值型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序集合的成员是唯一的(不 ...
- HDU 2256Problem of Precision(矩阵快速幂)
题意 求$(\sqrt{2} + \sqrt{3})^{2n} \pmod {1024}$ $n \leqslant 10^9$ Sol 看到题解的第一感受:这玩意儿也能矩阵快速幂??? 是的,它能q ...
- IDEA SpringBoot +thymeleaf配置
1.pom添加以下依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- 最具士兵突击实战类型的JavaScript
JavaScript实战一书的基础知识部分帮助读者快速踏入JavaScript领域之门,jQuery部分帮助读者随心所欲地去工作,HTML5部分帮读者搭上时代的班车,Node.JS则可以让读者屹立在技 ...