Python学习笔记(一):基础知识

一、什么是python
python是一种面向对象、解释型的计算机语言,它的特点是语法简洁、优雅、简单易学

二、编译型语言和解释型语言

编译型语言就是把程序编译成计算机语言然后执行,(一次编译到处运行)(例如:c++c)特点:运行速度快,需要事前把程序编译好。

解释型语言就是程序在运行时,通过一个编译器将程序翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说pythonshellrubyjavaperl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快

三、python2.xpython3.x的区别

因为23代码是不怎么兼容的,现在比较常用的是2.7版本,2.7版本其实是一个过渡版本。python2的默认字符集是ASCII编码,写中文会报错,python3.x版本中默认字符集是Unicode,省了很多事,so,还是推荐使用python3.x版本。 

四、编码

ASCII码表:http://www.96yx.com/tool/ASC2.htm

编码:gbkutf-8Unicode

Unicode:万国码,故名思议,哪个国家的文字都适用,英文字符和汉字都是占2个字节

Utf-8:其实属于Unicode ,但又和Unicode不一样,是Unicode的压缩版,英文字母占1个字节,汉字占2个字节

GBK:GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

五、pythonlinux下运行

liunx下可以直接运行python文件,前面不需要加python命令,加上执行权限即可,但是需要在python文件最前面指定python解释器,加上python解释器的路径即可,有两种写法,代码看下面,(建议使用环境变量的写法,这样即使更换目录也不会使原来的脚本失效)

1

2

3

4

5

    #!/usr/bin/python #这种写法是去/usr/bin目录下去找python的解释器,如果在这个目录下没有python解释器或者python解释器在别的目录下,就会报错了

    print('Hello world!')    

    #!/usr/bin/env python#这种写法是去环境变量中找你配置的python解释器目录,你配置在哪个目录下,它就去哪个目录下找python解释器

    print('Hello world!')

六、变量

Python中定义变量很简单,不需要指定数据类型,例如

name = ‘besttest’   #Python中变量name的存放的是‘besttest’在内存中地址

new_name = name  #new_name的存放的也是‘besttest’在内存中地址,所以改动new_name,name的值也会变。

变量定义规则:

1.变量名要见名知意,不能随意写,否则到最后都不知哪个变量是干嘛用的

2.汉字是可以作为变量名的,但是不要用,很low

3.变量名只能是字母、数字、下划线任意组合,且变量名第一个字符不能是数字,特殊字符不可以作为定义变量

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

1

2

3

     ['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']

七、输入输出

Python接收控制台的输入和输出:

输入:使用input函数,但是python2中使用raw_input函数,获取字符串,也可以用input获取的是整型或float类型。

Eg: name = input(“请输入用户姓名:”)

Python可以import  getpass 模块,使用getpass.getpass(请输入密码:”)来隐藏你输入的密码信息。但是这个在pycharm等编译器中是不能使用的,一般用在开发程序中

 

输出:直接使用print()

八、逻辑判断和循环

Python中的逻辑判断只有  if else  ;多次判断可以用if  elif ....else

 

循环:while  for  使用range设置变量i的值

 

使用for循环遍历数组:

ames = ['marry','lily','lilei']

    for name in names:

        if name == 'lily':

            contiune #如果名字等于lily的话,就不执行continue下面的代码了,再循环下一次

         print(name)

    else#for也有个else,不过这个一般没人写它,意思是如果正常循环完了去做什么

        print('over')

注:没有Java中的那些 switch ...case等和do  while

九、格式化输出

有三种方式,第一种是用+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,

占位符有常用的有三种,%s%d%f%s是后面的值是一个字符串,%d是后面的值必须是一个整数,

%f后面是小数;第三种是使用{}fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,

第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

 

本周相关程序地址:

https://git.coding.net/yun_yuan/Python_BestTest.git

原文地址:https://www.cnblogs.com/yunyuan01/p/9120547.html