认识Python和基础知识

1、第一个Python程序

用vim编写,格式:python

vim hello.py

而后按 i 进入插入模式开始写代码,注意全部的代码都要用英文输入法,先写括号和引号,再在引号里面写内容(为了不引号、括号不匹配)程序员

代码:vim

print("hello,world!")

在文件所在路径运行程序(python xxx 是用python2运行程序;python3 xxx是用python3运行程序)app

python hello.py 或者
python3 hello.py

 

2、Python的交互模式

在终端输入python(python2 或 python3都可)进入Python的交互模式,按exit()退出编辑器

在Python的交互模式下,能够供开发人员测试一些基本的语法函数

 

在终端输入ipython也能够进入Python的交互模式(按exit退出),比python多了一个输入Linux命令的功能,因此在能用到Python交互模式的时候尽可能用ipython比较好测试

若是系统未安装ipython,能够输入如下命令进行安装:spa

sudo apt install ipython
sudo apt install ipython3

 

 

3、注释

<1> 看如下程序示例(未使用注释)

 

 

<2> 看如下程序示例(使用注释)

 

<3>注释的做用

  • 经过用本身熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的做用,可以大大加强程序的可读性code

  • 便于之后再维护代码的时候能快速知道代码的做用
  • 用来作测试的代码能够进行注释对象

  • 若是遇到你认为没用的代码,不要轻易删除,可能牵一发而动全身,能够先把它注释掉

 

<4>注释的分类

1.单行注释

以 # 或者 // 开头,#右边的全部东西当作说明,而不是真正要执行的程序,起辅助说明做用

 # 我是注释,能够在里写一些功能说明之类的哦
 print('hello world')

(# 号后面的内容不能换行,换行就变成了执行的代码,若是要换行,要在新的一行行首再加一个#号)

2.多行注释

三个连续单引号或三个连续双引号,引号里面的内容就是注释

    '''我是多行注释,能够写不少不少行的功能说明
        这就是我牛X指出

        哈哈哈。。。
    '''

    ''' 
        下面的代码完成 ,打印一首诗
        名字叫作:春江花月夜
        做者,忘了
    '''

    print('╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │  ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('║ │春│滟│江│空│江│江│人│不│白│谁│可│玉│此│鸿│昨│江│斜│不│ ║')
    print('║ │江│滟│流│里│天│畔│生│知│云│家│怜│户│时│雁│夜│水│月│知│ ║')
    print('║ │潮│随│宛│流│一│何│代│江│一│今│楼│帘│相│长│闲│流│沉│乘│ ║')
    print('║ │水│波│转│霜│色│人│代│月│片│夜│上│中│望│飞│潭│春│沉│月│ ║')
    print('║ │连│千│绕│不│无│初│无│待│去│扁│月│卷│不│光│梦│去│藏│几│ ║')
    print('║春│海│万│芳│觉│纤│见│穷│何│悠│舟│徘│不│相│不│落│欲│海│人│ ║')
    print('║江│平│里│甸│飞│尘│月│已│人│悠│子│徊│去│闻│度│花│尽│雾│归│ ║')
    print('║花│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│ ║')
    print('║月│海│何│月│汀│皎│江│江│但│青│何│应│捣│愿│鱼│可│江│碣│落│ ║')
    print('║夜│上│处│照│上│皎│月│月│见│枫│处│照│衣│逐│龙│怜│潭│石│月│ ║')
    print('║ │明│春│花│白│空│何│年│长│浦│相│离│砧│月│潜│春│落│潇│摇│ ║')
    print('║ │月│江│林│沙│中│年│年│江│上│思│人│上│华│跃│半│月│湘│情│ ║')
    print('║ │共│无│皆│看│孤│初│望│送│不│明│妆│拂│流│水│不│复│无│满│ ║')
    print('║ │潮│月│似│不│月│照│相│流│胜│月│镜│还│照│成│还│西│限│江│ ║')
    print('║ │生│明│霰│见│轮│人│似│水│愁│楼│台│来│君│文│家│斜│路│树│ ║')
    print('║ │。│。│。│。│。│?│。│。│。│?│。│。│。│。│。│。│。│。│ ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝')

 

4、Python2的中文解决

若是直接在程序中用到了中文,好比:

 print('你好')

 

解决的办法为:在程序的开头写入以下代码,这就是中文注释

#coding=utf-8  

 

修改以后的程序:

#coding=utf-8
print('你好')

 

运行结果:

你好

 

注:在python的语法规范中推荐使用的方式:

# -*- coding:utf-8 -*-

 

5、变量

<1>变量的定义

在程序中,有时咱们须要对2个数据进行求和,那么该怎样作呢?

你们类比一下现实生活中,好比去超市买东西,每每我们须要一个菜篮子,用来进行存储物品,等到全部的物品都购买完成后,在收银台进行结帐便可

若是在程序中,须要把2个数据,或者多个数据进行求和的话,那么就须要把这些数据先存储起来,而后把它们累加起来便可

在Python中,存储一个数据,须要一个叫作变量的东西,以下示例:

num1 = 100 #num1就是一个变量,就好一个小菜篮子

num2 = 87  #num2也是一个变量

result = num1 + num2 
#把num1和num2这两个"菜篮子"中的数据进行累加,而后放到 result变量中

变量的名称应该体现出数据的意义

1 score = 100
2 #定义了一个变量,这个变量的名字就叫作score,它里面存储了一个数值 100
3 
4 high = 100    #单位是cm
5 weight = 7.5  #购买苹果的重量 斤
6 
7 applePrice = 3.5   #苹果的价格 元/斤
8 money = applePrice * weight
9 #先把3.5 * 7.5的值算出来,再赋值给money,这也是定义一个变量
10 
11 money = money - 10
12 #第二次赋值就不叫定义变量,而是给这个变量赋上一个新的值
13 print(money)
14 #程序从上往下执行,这里money的值为减掉10后的值

(用的vim编辑器,代码前面的数字表示行号)

说明:

  • 所谓变量,能够理解为菜篮子,若是须要存储多个数据,最简单的方式是有多个变量,固然了也可使用一个
  • 程序就是用来处理数据的,而变量就是用来存储数据的

<2>变量的类型以及数据类型转换

2.1 变量类型

程序中:

为了更充分的利用内存空间以及更有效率的管理内存,变量是有不一样的类型的,以下所示:

怎样知道一个变量的类型呢?

  • 在python中,只要定义了一个变量,并且它有数据,那么它的类型就已经肯定了,不须要我们开发者主动的去说明它的类型,系统会自动辨别
  • 可使用type(变量的名字),来查看变量的类型
 2.2 数据类型转换

经常使用的数据类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 建立一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

例:

1 age = int(input("请输入你的年龄:"))
2 #input获取的全部数据,都当作字符串类型,须要进行数据类型转换
3 #不进行转换程序会报错
4 if age > 18:
5     print("你已成年!")
 

 

6、输入、输出

1.输入

Python2 版本

1.1 raw_input()

在Python2中,获取键盘输入的数据的方法是采用 raw_input 函数,例:

 

password = raw_input("请输入密码:")
print '您刚刚输入的密码是:', password

 运行结果:

请输入密码:123456
您刚刚输入的密码是:123456

 

注意:

  • raw_input()的小括号中放入的是,提示信息,用来在获取数据以前给用户的一个简单提示
  • raw_input()在从键盘获取了数据之后,会存放到等号右边的变量中
  • raw_input()会把用户输入的任何值都做为字符串来对待
1.2 input()

input()函数与raw_input()相似,但其接受的输入必须是表达式(把接收的数据当作代码来执行)

input()接受表达式输入,并把表达式的结果赋值给等号左边的变量

>>> a = input() 
123
>>> a
123
>>> type(a)
<type 'int'>
>>> a = input()
abc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined

>>> a = input()
"abc"
>>> a
'abc'
>>> type(a)
<type 'str'>

>>> a = input()
1+3
>>> a
4

>>> a = input()
"abc"+"def"
>>> a
'abcdef'

>>> value = 100
>>> a = input()
value
>>> a
100

 

 

Python3 版本

没有raw_input()函数,只有input()

而且 python3中的input与python2中的raw_input()功能同样

 

2.输出

python中变量的输出

1. 普通的输出

 # 打印提示
 print('hello world') print('给个人卡---印度语,你好的意思')

 

2. 格式化输出

<1>格式化操做的目的

好比有如下代码:

 pirnt("我今年10岁")
 pirnt("我今年11岁")
 pirnt("我今年12岁")
  • 想想:

    在输出年龄的时候,用了屡次"我今年xx岁",可否简化一下程序呢???

  • 答:

    字符串格式化

<2>什么是格式化

看以下代码:

age = 10
print("我今年%d岁"%age)

age += 1
print("我今年%d岁"%age)

age += 1
print("我今年%d岁"%age)
  

在程序中,看到了%这样的操做符,这就是Python中格式化输出。

age = 18
name = "xiaohua"
print("个人姓名是%s,年龄是%d"%(name,age))

 

<3>经常使用的格式符号

下面是完整的,它能够与%符号使用列表:

格式符号 转换
%c 字符
%s 经过str() 字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号(小写'e')
%E 索引符号(大写“E”)
%f 浮点实数
%g %f和%e 的简写
%G %f和%E的简写

 

 

3. 换行输出

 在输出的时候,若是有\n那么,此时\n后的内容会在另一行显示

 

print("1234567890-------")      # 会在一行显示

print("1234567890\n-------")   # 一行显示1234567890,另一行显示-------

 

4.练一练 

打印名片

 1 """
  2 age = 18
  3 print("你的年龄为:%d" % age)
  4 #格式化,整数取值用 %d
  5 
  6 name = "李茂贞"
  7 print("你的名字是:%s" % name)
  8 #字符串取值用 %s
  9 
 10 high = input("请输入你的身高:")
 11 "input()接受表达式输入,并把表达式的结果赋值给等号左边的变量"
 12 print(high) #print也能够打印变量
 13 
 14 """
 15 
 16 print("#################################")
 17 #打印名片
 18 #1. 使用input获取必要的信息
 19 name = input("请输入名字:")
 20 sex = input("请输入你的性别:")
 21 age = int(input("请输入你的年龄:"))
 22 #input获取的数据默认是字符串类型,这里强制转换为int类型
 23 QQ = int(input("请输入QQ:"))
 24 
 25 #2. 使用print来打印名片
 26 print("====================")
 27 print("姓名:%s" % name)
 28 print("性别:%s" % sex)
 29 print("年龄:%d" % age)
 30 print("  QQ:%d" % QQ)
 31 print("====================")

 

7、if判断语句

<1>if判断语句介绍

if语句是用来进行判断的,其使用格式以下:

if 要判断的条件:
        条件成立时,要作的事情

demo1:

age = 30

print "------if判断开始------"

if age>=18:
    print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------
    我已经成年了
------if判断结束------

demo2:

age = 16

print "------if判断开始------"

if age>=18:
    print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------
------if判断结束------

小总结:

  • 以上2个demo仅仅是age变量的值不同,结果却不一样;可以看得出if判断语句的做用:就是当知足必定条件时才会执行那块代码,不然就不执行那块代码

注意:

  • 代码的缩进为一个tab键,或者4个空格
  • if条件知足,执行if后面的代码块(代码前面有连续的tab键),而不是一条语句,else同理

 

<2>练一练

要求:从键盘获取本身的年龄,判断是否大于或者等于18岁,若是知足就输出“哥,已成年,网吧能够去了”

不知足就输出“未成年,回家写做业去吧!”

代码:

1 age = int(input("请输入你的年龄:"))
2 if age > 18:
3     print("哥,已成年,网吧能够去了!")
4 else:
5     print("未成年,回家写做业去吧!")
                                                                                                         

 

8、标识符、关键字、命名规则

标示符和关键字

<1>标示符(也就是变量名)

什么是标示符,看下图:

 

开发人员在程序中自定义的一些符号和名称

标示符是本身定义的,如变量名 、函数名等

<2>标示符的命令规则

标示符由字母、下划线和数字组成,且数字不能开头

 思考:下面的标示符哪些是正确的,哪些不正确,为何?

   fromNo12
   from#12
   my_Boolean
   my-Boolean
   Obj2
   2ndObj
   myInt
   test1
   Mike2jack
   My_tExt
   _test
   test!32
   haha(da)tt
   int
   jack_rose
   jack&rose
   GUI
   G.U.I

python中的标识符是区分大小写的

<3>命名规则

3.1 见名知意

起一个有意义的名字,尽可能作到看一眼就知道是什么意思(提升代码可 读性) 好比: 名字 就定义为 name , 定义学生 用 student

3.2 驼峰命名法

小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

大驼峰式命名法(upper camel case): 每个单字的首字母都采用大写字母,例如:FirstName、LastName

不过在程序员中还有一种命名法比较流行,就是用下划线“_”来链接全部的单词,好比send_buf

<4>关键字

什么是关键字?

python一些具备特殊功能的标示符,这就是所谓的关键字

关键字,是python已经使用的了,因此不容许开发者本身定义和关键字相同的名字的标示符

 

查看关键字:

 

and     as      assert     break     class      continue    def     del
elif    else    except     exec      finally    for         from    global
if      in      import     is        lambda     not         or      pass
print   raise   return     try       while      with        yield

能够经过如下命令进行查看当前系统中python的关键字

 

8、运算符

python支持如下几种运算符

<1>算术运算符

下面以a=10 ,b=20为例进行计算

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 获得负数或是一个数减去另外一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
例:
>>> 9/2.0
4.5
>>> 9//2.0
4.0

 

<2>赋值运算符

运算符 描述 实例
= 赋值运算符 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7
例:
>>> a, b = 1, 2
>>> a
1
>>> b
2

 

<3>复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 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

 

<4>比较(关系)运算符

 

运算符 描述 示例
== 检查两个操做数的值是否相等,若是是则条件变为真。 如a=3,b=3则(a == b) 为 true
!= 检查两个操做数的值是否相等,若是值不相等,则条件变为真。 如a=1,b=3则(a != b) 为 true
<> 检查两个操做数的值是否相等,若是值不相等,则条件变为真。 如a=1,b=3则(a <> b) 为 true。这个相似于 != 运算符
> 检查左操做数的值是否大于右操做数的值,若是是,则条件成立。 如a=7,b=3则(a > b) 为 true
< 检查左操做数的值是否小于右操做数的值,若是是,则条件成立。 如a=7,b=3则(a < b) 为 false
>= 检查左操做数的值是否大于或等于右操做数的值,若是是,则条件成立。 如a=3,b=3则(a >= b) 为 true
<= 检查左操做数的值是否小于或等于右操做数的值,若是是,则条件成立。 如a=3,b=3则(a <= b) 为 true

 

 

<5>逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 若是 x 为 False,x and y 返回 False,不然它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 若是 x 是 True,它返回 True,不然它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 若是 x 为 True,返回 False 。若是 x 为 False,它返回 True。 not(a and b) 返回 False
相关文章
相关标签/搜索