首页 > 代码库 > python3 day1-python基础

python3 day1-python基础

  开始python的学习,关于python的介绍及其发展历史这里就不多说了。可以百度一下。

本人也是刚刚开始学习,知识点后续会在补充。

首先我们面临的选择:使用哪个版本开始学习(可以去官网查询,有英文的具体介绍)

一、python2 or python3

  2个版本之间的差别有很多,编码、语法、字符串、数据类型、库、类、模块等等。这里理解不深刻先说以下2点。

  1.默认编码

  python2默认使用的是ascii,所以在读取中文时候会乱码,解决的方法是在文件的开头加上:# -*- coding: UTF-8 -*-。代码中包含中文就需要在头部指定此编码。

  python3 默认使用的编码是utf-8。

  2.语法

  语法改变很多,学习初期,先说一个print的改变。python2中的print语句,变成了print()函数,也就是说python3的打印必须要加小括号。否则报错。

 

二、安装

  1、从官网上下载安装包  https://www.python.org/downloads/

  2、配置环境变量PATH。

    打开     ”控制面板\所有控制面板项\系统”   →  “高级系统设置” →  “高级”标签 → 点击“环境变量”  → 找到“系统变量”中PATH 变量或者是当前用户变量PATH → 更改变量PATH的值,在最后添加“;python的绝对安装路径” → 点击确定

  技术分享 

  3、验证环境变量是否生效

    打开 cmd 窗口, 输入: python -verion   显示如下:

三、第一个程序

  

  创建一个文件helloworld.py ,内容:

  print("Hello World!")

  然后,在cmd中进入文件所在目录,执行

  python helloworld.py

  #执行结果

  

C:\Users\MI\PycharmProjects\py_15\day1>python firstprogram.py  Hello world!

 

  如果在linux系统中想要通过./去执行脚本,需要首先声明,需要在头部加入:

  

#!/usr/bin/env python

  安装完python后,会生成一个idle,如下

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32  Type "copyright", "credits" or "license()" for more information.  >>> print("hello world!")  hello world!    >>>

 

 

四、字符编码

  python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

  ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

  

关于中文

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

 

 

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

 

五、注释

  单行注释在行首加#

  多行注释用

    """.............

    ................

    ............."""  

六、用户输入

   简单的用户输入

1 #!/usr/bin/env python2 name = input("pls input your name")
3 print("Hello"+name)

七、变量

  一个在内存中存储数据的容器

  给变量赋值

  #将第一天的收益赋值给变量day1

  day1=2000

  #将第二天的收益赋值给变量day2

  day2=200

  将变量相加

  #两天的收益相加,赋值给total

  total=day1+day2

1 #!/usr/bin/env python2 day1=20003 day2=2004 total=day1+day25 6 print("2天总收益:”,total)

 八、判断

  场景1.用户验证登陆

1 username=input("username:")2 password=input("password:")3 4 if username=="xiaohong" and password=="123456":5     print("welcome!")6 else:7     print("user or passwd error!")

  场景2.猜年龄游戏

 1 #!/usr/bin/env python 3 # -*- coding: utf-8 -*- 6 my_age = 28 9 user_input = int(input("input your guess num:")12 if user_input == my_age:14     print("Congratulations, you got it !")16 elif user_input < my_age:18     print("Oops,think bigger!")20 else:22     print("think smaller!")

 

外层变量,可以被内层代码使用
内层变量,不应被外层代码使用
 
九、规范输出
 1 #!/usr/bin/env python 2  3 name=input("name:") 4 age=input("age:") 5 job=input("job:") 6 hobby=input("hobby:") 7  8 info=""" 9     ---------info of %s------------10     name : %s11     age  :  %s12     job  :  %s13     hobby:  %s14     --------------end--------------15 """ %(name,name,age,job,hobby)

 

python3 day1-python基础