1、python语言介绍
python的创始人:GuidoVan Rossum
2、python是一门什么样的语言
编程语言主要从以下几个角度进行分类:编译型,静态型,动态性,强类型定义语言和弱类型定义语言
编译型:有一个负责翻译的程序来对我们的源代码进行转换,生成对应的可执行代码,这个过程就是编译(Compile),而负责编译的程序就被称为编译器(Compiler)
通常我们所说的动态语言,静态语言是指动态类型语言和静态类型语言
(1)动态类型语言:是指在运行期间采取做数据类型检查的语言。即在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。典型的是python和Ruby
(2)静态类型语言:数据类型是在编译期间检查的,也就是说在写程序的时候要声明所有变量的数据类型。C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#,JAVA
强类型定义语言和弱类型定义语言:
(1)强类型定义语言:强制数据类型定义的语言,即一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么久永远是这个数据类型
(2)弱类型定义语言:数据类型可以被忽略的语言,即一个变量可以赋不同数据类型的值
3、Python能做什么?
网络应用、科学运算、GUI程序、系统管理工具、其他等等
python的优缺点:
优点:简单、开发效率高、高级语言、可移植性、可扩展性、可嵌入性
缺点:速度慢,但是相对的、代码不能加密、线程不能利用多CPU问题
4、python解释器:Cpython、IPython、PyPy、Jython、IronPython
以上是对于python基础的一些了解
1、如果用的ubantu系统的linux,默认存在的是两个python版本:2.7和3.5,默认执行python,启动的是2.7版本
如果想要启动3.5版本,需要做如下操作
ln -s/usr/bin/python3.5 /usr/bin/python(需要在root下用户执行或者sudo)
查看自己的python的版本:
Python -V
2、开始python的第一个程序:
代码内容如下:
代码中开头的:#!/usr/bin/env python与编写shell程序时#!/bin/bash意思是一样的声明要使用的解释器类型!
运行结果如下:
3、第二个小程序关于猜年龄:
代码内容如下:
运行结果如下:
对上面猜你年龄程序的一些分析如下:
对于input在2.7里面的是raw_input()
在3.5里面同样的print需要print()
对于if和else后面的冒号为规定格式
代码里的int就是为了将输入的字符串转换为int类型,默认输入的内容都是字符串string类型
4、python的变量及数据类型
python常见的基本数据类型有5种:整型(int),浮点型(float),字符型(string),布尔型(bool),空值(None)
注意:在字符串时需要用'字符串'或者"字符串"引起来,两者没有区别
如果要多行的时候可以用'''字符串'''
\ 表示转义字符 \n表示换行 \t表示制表符 如果\本身也要转义,就要用\\
布尔值只有True、False两种值(注意大小写)
布尔值可以用and、or和not运算
and运算是与运算,只有所有都为True,and运算结果才是True
or运算是或运算,只要其中有一个为True,or运算结果就是True
not运算是非运算,它是一个非运算符,把True变成False,False变成True
空值是python里的一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值
5、变量的明名规则:
python变量的命名只能由数字、字母和下划线3种字符组成,且第一个字符串必须为字符或者下划线。
例如:name,Sutdent,Li_li
不符合的规则如下:M.C,$23,#11,zhao Fan,C++这些都是错误的命名
变量名命名习惯
如下所示:
CheckCurrentConnCount
Check_current_conn_count
checkCurrentConnCount
最后是理解变量在计算机内存中的表示如下:
从上面可以看出,当你把一个变量name赋值给另一个变量name2时,解释器只是把name变量指向的内存地址赋值给了name2,因此name和name2并未发生直接的关联,只不过是他们都同时指向了同一个内存地址而已,这也是为什么你把name再指向一个新的地址后,而name2的值还保持不变的原因
6、数据运算符
a=10,b=20
算数运算符
运算符 | 描述 | 示例 |
+ | 加法运算 | a+ b = 30 |
| 减法运算 | a-b= -10 |
* | 乘法运算 | a*b=200 |
/ | 除法运算 | b/a=2 |
% | 取模-即求余数 | 10%5=0,10%3=1 |
** | 幂 | 2**8=256 |
// | 取整除 | 9//2=4 |
比较运算符
运算符 | 描述 | 示例 |
== | 判断两个对象是否相等 | (a==b)is not true |
!= | 判断两个对象是否不相等 | (a!=b)is true |
<> | 判断两个对象是否不相等 | (a<>b)is true 与!=运算符一样 |
> | 大于-返回a是否大于b | (a>b)is no true |
< | 小于-返回a是否小于b | (a<b)is true |
>= | 大于等于-返回a是否大于等于b | (a>=b)is not true |
<= | 小于等于-返回a是否小于等于b | (a<=b)is true |
复制运算符
运算符 | 描述 | 示例 |
= | 赋值 - 将右边的值赋值给左边的变量名 | c = a + b 将会把 a+b 的结果 赋值给 c |
+= | 自加赋值 - 将+=号左边的值与+=号右边的值相 加,然后再把结果赋值给+=号左右的值 | c += a 相当于 c = c + a |
-+ | 自减赋值 | c -= a 相当于 c = c - a |
*= | 自乘赋值 | c *= a 相当于 c = c * a |
/= | 自除赋值 | c /= a 相当于 c = c / a |
%= | 自取模赋值 | c %= a 相当于 c = c % a |
**= | 自求幂赋值 | c **= a 相当于 c = c ** a |
//= | 自取整赋值 | c //= a 相当于 c = c // a |
按位运算符
运算符 | 描述 | 示例 |
& | 与运算,这个二进制位必须在 2 组数中都 为真,结果才返回真 |
|
| | 或运算,这个二进制位只需在其中一组数 据中为真即返回真 |
|
^ | 异或运算,只要这个二进制位在两组数据 中不相同就返回真 |
|
<< | 左移运算,将 a 整体向左移 2 位 |
|
>> | 右移运算,将 a 整体向左移 3 位 |
|
7、在计算机内存中,统一使用Unicode编码,当需要保存到硬盘上或者需要传输的时候,转换为UTF-8编码
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode
转换为UTF-8保存到文件中
如果编写python的时候涉及中文可以在文件的开头添加如下内容:
#!/usr/bin/envpython #_*_coding:utf-8_*_
8、格式化:
%符号就是用来格式化字符串的,在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%? 后面就跟
几个变量或者值,顺序要对应好,如果只有一个%? 括号可以省略