一、第一个Python程序

用vim编写,格式:

vim hello.py

然后按 i 进入插入模式开始写代码,注意所有的代码都要用英文输入法,先写括号和引号,再在引号里面写内容(为了避免引号、括号不匹配)

代码:

print("hello,world!")

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

python hello.py 或者
python3 hello.py

二、Python的交互模式

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

在Python的交互模式下,可以供开发人员测试一些基本的语法

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

如果系统未安装ipython,可以输入以下命令进行安装:

sudo apt install ipython
sudo apt install ipython3

三、注释

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

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

<3>注释的作用

  • 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性

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

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

<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('╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝')

四、Python2的中文解决

如果直接在程序中用到了中文,比如:

 print('你好')

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

#coding=utf-8  

修改之后的程序:

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

运行结果:

你好

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

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

五、变量

<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("你已成年!")

六、输入、输出

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("====================")

七、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("未成年,回家写作业去吧!")

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

标示符和关键字

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

什么是标示符,看下图:

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

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

<2>标示符的命令规则

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

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

   fromNo12
from#
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的关键字

八、运算符

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
												

认识Python和基础知识的更多相关文章

  1. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  2. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  3. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  4. Python:基础知识

    python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...

  5. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  6. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  7. Python入门 ---基础知识

    Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...

  8. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  9. python编码基础知识

    http://www.javaeye.com/topic/560229 一 预备知识 字符集1, 常用字符集分类ASCII及其扩展字符集作用:表语英语及西欧语言.位数:ASCII是用7位表示的,能表示 ...

  10. Python 爬虫基础知识

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

随机推荐

  1. 记录一个nginx的配置

    rt #user xiaoju; worker_processes ; #error_log logs/error.log notice; #error_log logs/error.log debu ...

  2. PHP取一算法

    一群猴子排成一圈,按1,2,…,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大 ...

  3. Long Long Ago 二分查找

    L: Long Long Ago 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序 ...

  4. 【工具】Idea GenerateAllSetter

    使用工具自动生成setter方法调用,不是idea原生态生成getter/setter https://github.com/gejun123456/intellij-generateAllSetMe ...

  5. The type 'Expression<>' is defined in an assembly that is not referenced.You must add a reference to assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

    在我将一个.net framework 4.0+mvc4+ef5的项目,升级到.net framework 4.6.1+mvc5+ef6之后,解决了所有的升级带来的问题,唯独在razor的cshtml ...

  6. docker 安装 hbase安装 java连接hbase (mac环境)

    docker 安装 https://hub.docker.com/editions/community/docker-ce-desktop-mac 下载地址 下载完之后,安装app一样安装就好 安装完 ...

  7. python--random库基本介绍

    random库是使用随机数的Python标准库 python中用于生成伪随机数的函数库是random 因为是标准库,使用时候只需要import random random库包含两类函数,常用的共9个 ...

  8. python函数默认参数陷阱

    对于学习python的人都有这样的困惑 def foo(a=[]): a.append(5) return a Python新手希望这个函数总是返回一个只包含一个元素的列表:[5].结果却非常不同,而 ...

  9. IDEA和eclipse快捷键

    软件通用的快捷键: * 保存:Ctrl + S * 剪切:Ctrl + X * 粘贴:Ctrl + V * 复制:Ctrl + C * 全选:Ctlr + A * 撤销:Ctrl + Z * 反撤销: ...

  10. java中的static代码块为什么只执行一次

    原因在最后,这是其中的一个小例子. 如: SessionFactory负责保存和使用所有配置信息,消耗内存资源非常大 所以一个web项目要保证只创建一个SessionFactory 那么在使用hibe ...