输入

input():接收命令行下输入

1)在py2下:如果你输的是一串文字,要用引号''或者""引起来,如果是数字则不用。

2)在py3下:相当于py2的raw_input(),得到的都是字符串,而非数值


if语法

if 条件:

选择执行的语句

elif 条件:

选择执行的语句

else:

选择执行的语句

特别说明:条件后面的冒号不能少,同样必须是英文字符。

特别特别说明:if内部的语句需要有一个统一的缩进,一般用4个空格。python用这种方法替代了其他很多编程语言中的{}。你也可以选择1/2/3...个空格或者按一下tab键,但必须整个文件中都统一起来。千万不可以tab和空格混用,不然就会出现各种莫名其妙的错误。所以建议都直接用4个空格。

以缩进代替{},第一个缩进 为{,第一个不缩进为}

例:

thisIsLove = input()
   if thisIsLove:
       print "再转身就该勇敢留下来"

break:跳出循环

continue:进入下次循环


while语法

while 条件:

  选择执行的语句

注意:循环体内的语句,缩进相同。if也是如此。

break:跳出循环

continue:进入下次循环


for循环语法

  for  变量   in  序列  :

    循环执行体

  for i in range(1, 101):

    print i

  for ... in ...   #for循环的本质是对一个序列中的元素进行递归

  for i in range(a, b)  #从a循环至b-1

  for count in range(0,n)  #循环n次

  range(1, 101)表示从1开始,到101为止(不包括101),取其中所有的整数

示例 :

如果想让这5个*在同一行,python2的话就在print语句后面加上逗号

for i in range(0, 5):

   print '*',

python3需要加上end参数:

for i in range(0, 5):

   print('*', end=' ')

示例:

第二个print的缩进和内层的for是一样的,这表明它是外层for循环中的语句,每次i的循环中,它会执行一次。

print()没有写任何参数,是起到换行的作用


 模块

通过函数,可以在程序里重用代码;通过模块,则可以重用别的程序中的代码。

模块可以理解为是一个包含了函数和变量的py文件。在你的程序中引入了某个模块,就可以使用其中的函数和变量。

1、import  模块名       

import random:import语句告诉python,我们要用random模块中的内容。然后便可以使用random中的方法(调用方式“模块名.方法名”),比如:

random.randint(1, 10)

random.choice([1, 3, 5])

想知道random有哪些函数和变量,可以用dir()方法:dir(random)

2、 from 模块名 import 方法或变量名

from 模块名 import 方法或变量名  as 方法或变量别名

场景:如果只是用到模块中的一个函数或变量时

调用方式:方法名(或变量名),不需要加模块名。

例:

1)from math import pi

   print(pi)

2)from math import pi as math_pi

print(math_pi)

random

from 模块名 import 方法名

  from random import randint

  randint产生随机数:

    randint(5, 10)将会产生一个5到10之间(包括5和10)的随机整数


变量

  变量命名规则:

    1、必须以字母下划线(_)开头其余部分可以是字母、下划线(_)或数字(0-9)

    2、大小写敏感

判断变量的数据类型的两种方法

一、Python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型

1、isinstance(变量名,类型)

2、通过与其他已知类型的常量进行对比:type()


转义符\,三个引号(''')

\的用途:1)转义,2)在源码换行(在代码中换行,而不影响输出的结果)

在源码中换行,比如:

"this is the\

same line"

这个字符串仍然只有一行,和"this is thesame line"是一样的,只是在代码中换了行。当你要写一行很长的代码时,这个会派上用场(只是在源码中换行,实际数据不换行)。

三个引号(''')或者("""):在三个引号中,可以方便地使用单引号和双引号(不需要转义符\),并且可以直接换行(实际数据中换行)

'''

"What's your name?" I asked.

"I'm Han Meimei."

'''


字符串格式化

1、str():将数字转化为字符串

num = 18

print ('My age is' + num)

2、%:对字符串进行格式化

1)%d:替换整数,%dw会被%后面的整数替换

num=19

2)%f:替换小数,%.2f会保留2位小数

3)%s:替换字符串

4)使用tuple元组替换多个。


类型转换

int(x) #把x转换成整数

float(x) #把x转换成浮点数

str(x) #把x转换成字符串

bool(x) #把x转换成bool值

在python中,其他类型转成 bool 类型时,以下值会被认为是False:

   为0的数字,包括0,0.0

   空字符串,包括'',""

   表示空值的None

   空集合,包括(),[],{}

其他的值都认为是True

None是python中的一个特殊值,表示什么都没有,它和0、空字符、False、空集合都不一样。

在if、while等条件判断语句里,判断条件会自动进行一次bool的转换。比如

a = '123'

if a:

print 'this is not a blank string'

这在编程中是很常见的一种写法。效果等同于

if bool(a)      或者     if a != ''


函数

关键字def,格式如下:

def sayHello():

print 'hello world!'

return是函数的结束语句,return后面的值被作为这个函数的返回值。函数中任何地方的return被执行到的时候,这个函数就会结束。

函数参数默认值

def hello(name = 'world'):

print 'hello ' + name

以上函数,name 参数可忽略

函数的参数传递

def func(arg1, arg2):

  print arg1, arg2

1、按参数位置匹配。如:func(3, 7)

2、指定形参的名称。如:func(arg2=3, arg1=7)

3、如果参数有默认值,则可只传部分参数,按位置匹配(在前)和按参数名匹配可以结合使用。如:

def func(arg1=1, arg2=2, arg3=3):

  print arg1, arg2, arg3

调用:

func(2, 3, 4)

func(5, 6)

func(arg2=8)

func(arg3=9, arg1=10)

func(11, arg3=12)

4、任意数量的参数 def func(*args),把参数作为 tuple 传入函数内部。如:

def calcSum(*args):

  sum = 0

  for i in args:

    sum += i

  print sum

调用:

calcSum(1,2,3)

calcSum(123,456)

calcSum()

输出:

6

579

0

  在变量前加上星号前缀(*),调用时的参数会存储在一个 tuple(元组)对象中,赋值给形参。在函数内部,需要对参数进行处理时,只要对这个 tuple 类型的形参(这里是 args)进行操作就可以了。因此,函数在定义时并不需要指明参数个数,就可以处理任意参数个数的情况。需要注意,tuple 是有序的,所以 args 中元素的顺序受到赋值时的影响。

5、func(**kargs) 把参数以键值对字典的形式传入。如:

def printAll(**kargs):

  for k in kargs:

    print k, ':', kargs[k]

调用:

printAll(a=1, b=2, c=3)

printAll(x=4, y=5)

输出:

a : 1

c : 3

b : 2

y : 5

x : 4

  字典是无序的,所以在输出的时候,并不一定按照提供参数的顺序。同样在调用时,参数的顺序无所谓,只要对应合适的形参名就可以了。于是,采用这种参数传递的方法,可以不受参数数量、位置的限制。

6、参数调用方式混合使用。例:

def func(x, y=5, *a, **b):

  print x, y, a, b

在混合使用时,首先要注意函数的写法,必须遵守先后顺序:无默认值形参,默认值形参,元组形参,字典形参。

带有默认值的形参(arg=)须在无默认值的形参(arg)之后;元组参数(*args)须在带有默认值的形参(arg=)之后;字典参数(**kargs)须在元组参数(*args)之后。可以省略某种类型的参数,但仍需保证此顺序规则。

调用时也需要遵守先后顺序 :不指定参数名,指定参数名。

指定参数名称的参数要在无指定参数名称的参数之后;不可以重复传递,即按顺序提供某参数之后,又指定名称传递。

在函数被调用时,参数的传递过程为:不指定参数名匹配,指定参数名匹配,多余的不指定参数名为元组参数,多余的指定参数名为字典参数。

1.按顺序把无指定参数的实参赋值给形参;

2.把指定参数名称(arg=v)的实参赋值给对应的形参(非元组、非字典);

3.将多余的无指定参数的实参打包成一个 tuple 传递给元组参数(*args);

4.将多余的指定参数名的实参打包成一个 dict 传递给字典参数(**kargs)。

示例:

def func(x, y=5, *a, **b):

print x, y, a, b

调用:

func(1)

func(1,2)

func(1,2,3)

func(1,2,3,4)

func(x=1)

func(x=1,y=1)

func(x=1,y=1,a=1)

func(x=1,y=1,a=1,b=1) --a=1是字典参数

func(1,y=1)

func(1,2,3,4,a=1)

func(1,2,3,4,k=1,t=2,o=3)

输出:

1 5 () {}

1 2 () {}

1 2 (3,) {}

1 2 (3, 4) {}

1 5 () {}

1 1 () {}

1 1 () {'a': 1}

1 1 () {'a': 1, 'b': 1}

1 1 () {}

1 2 (3, 4) {'a': 1}

1 2 (3, 4) {'k': 1, 't': 2, 'o': 3}


列表list

list是以[]包围、逗号分隔的一组数据,数据之间的类型可以不同。

l = [1, 1, 2, 3, 5, 8, 13]

l = [365, 'everyday', 0.618, True]

列表以for遍历 for i in l:

range(1,10)在py2中产生一个list;在py3中返回一个可以循环遍历的range对象,可以通过list()函数转换成列表。

1、以索引访问,从0开始

print(I[0])

I[0]='a'

1)如果索引为负数,则表示从后往前倒数:

l[-1]表示l中的最后一个元素。

l[-3]表示倒数第3个元素。

2)切片操作符,以:分隔的一对数字

冒号前的数字表示开始位置(从0开始),冒号后的数字表示 结束位置。[起始位置:结束位置),即包含起始位置,不包含结束位置

l = [365, 'everyday', 0.618, True]

l[1:3]得到的结果是['everyday', 0.618]

如果不指定第一个数,切片就从列表第一个元素开始。

如果不指定第二个数,就一直到最后一个元素结束。

都不指定,则返回整个列表的一个拷贝。

l[:3]

l[1:]

l[:]

切片中的数字可以为负数。

l[1:-1]  得到['everyday', 0.618]

2、向list添加元素:append()方法

I.append('xx')

3、删除list中的元素:del命令

del I[2]


list与字符串

字符串分隔成list: split()

split默认是按照空白字符(包括空格、换行符\n、制表符\t)进行分割,得到一个list。另外可以揎分割符。

list连接成字符串:join()

join()是连接符的方法,参数是list

s = ';'

li = ['apple', 'pear', 'orange']

fruit = s.join(li)

print(fruit)

得到结果'apple;pear;orange'。

';'.join(['apple', 'pear', 'orange'])


 字符串的遍历与访问,与list类似

 遍历

通过for...in可以遍历字符串中的每一个字符。

word = 'helloworld'

for c in word:

print c

 索引访问

通过[]加索引的方式,访问字符串中的某个字符。

print word[0]

print word[-2]

 切片

通过两个参数,截取一段子串,具体规则和list相同。

print word[5:7]

print word[:-5]

print word[:]

连接字符

join方法也可以对字符串使用,作用就是用连接符把字符串中的每个字符重新连接成一个新字符串。

newword = ','.join(word)


字典

基本格式是(key是键,value是值):

d = {key1 : value1, key2 : value2 }

键要注意的是:

1.键必须是唯一的;

2.键只能是简单对象,比如字符串、整数、浮点数、bool值。lis就不能作为键,但是可以作为值。

访问规则:

1、python字典中的键/值对没有顺序,无法用索引访问字典中的某一项,而是要用键来访问。

  d[key]

  d.get(key)

字典类的get方法是按照给定key寻找对应项,如果不存在这样的key,就返回空值None。

2、通过for...in遍历(遍历的变量中存储的是字典的键):

for name in score:

print score[name]

例:

score = {

'萧峰': 95,

'段誉': 97,

'虚竹': 89

}

改变某一项的值:score['虚竹'] = 91

增加一项(给一个新键赋值):score['慕容复'] = 88

删除一项:del score['萧峰']

新建一个空的字典:d = {}


 元组

元组(tuple)也是一种序列,和list类似,只是元组中的元素在创建之后就不能被修改。

如:

postion = (1, 2)

geeks = ('Sheldon', 'Leonard', 'Rajesh', 'Howard')

都是元组的实例。它有和list同样的索引、切片、遍历等操作

例:

def get_pos(n):

    return (n/2, n*2)

得到这个函数的返回值有两种形式,一种是根据返回值元组中元素的个数提供变量:

x, y = get_pos(50)

print x

print y

还有一种方法是用一个变量记录返回的元组:

pos = get_pos(50)

print pos[0]

print pos[1]


异常处理 try ... except ...

try:

f = file('non-exist.txt')

print 'File opened!'

f.close()

except:

print 'File not exists.'


文件操作

打开文件:f = open('data.txt')

open('文件名')

文件名可以用文件的完整路径,也可以是相对(代码的)路径。

python默认是以只读模式打开文件。如果想要写入内容,在打开文件的时候需要指定打开模式为写入f = open('output.txt', 'w')

  • 'w'就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。
  • 不加参数时,open为你默认为'r',reading,只读模式,文件必须存在,否则引发异常。
  • 还有一种模式是'a',appending。它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。

注:py2里可以使用 open 或 file 方法打开文件,py3 只能使用 open

读取文件:data = f.read()

read() #把文件内所有内容读进一个字符串中

readline() #读取一行内容

readlines() #把内容按行读取至一个list中

写入文件:f.write('a string you want to write')

  必须以w或a模式打开文件,才能写入

关闭文件:f.close()


pass语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- # 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print '这是 pass 块'
print '当前字母 :', letter print "Good bye!"

以上实例执行结果:

当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!

Python:基础知识(一)的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  3. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  4. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

  10. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. Qt程序Release版出现 类似 QEventLoop: Cannot be used without QApplication 问题的终极解决方案

    最近在做Qt程序开发,程序在Debug下跑是没有问题的,发布到Release版本后,出现各种问题: 报各种莫名其妙的错误,类似的错误有:   QEventLoop:Cannot be used wit ...

  2. 如何去掉iview里面的input,button等一系列标签自带的蓝色边框

    只需要将这些标签加一个:focus{outline:0}即可解决这个问题

  3. Sublime Text 自动换行

  4. C# Visual 快捷键

      编辑系 代码提示 Ctrl + J激活VS默认代码提示功能.ReSharper等插件会建议你修改快捷键. 导入命名空间 个人认为Ctrl + .是最方便的,复杂点的是Alt + Shift + F ...

  5. 使用 RamMap 清理内存 How to Use RamMap to Empty System Working Set

    使用 RamMap 清理内存 In this post I want to introduce RamMap by Microsoft. It’s a free tool you can use to ...

  6. MVP 模式简单易懂的介绍方式

    为什么用Android MVP 设计模式? 当项目越来越庞大.复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了. MVP 模式是 MVC 模式在 Android 上的一种变体, ...

  7. Android 对话框 (AlertDialog)

    Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是 ...

  8. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  9. rman备份控制文件

    rman备份控制文件分为两种情况. 1.自动备份需要配置configure controlfile autobackup on配置之后,控制文件和spfile会在每次rman备份之后自动备份contr ...

  10. Phoenix介绍(持续更新)

    现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要记录Phoenix. phoenix,中文译为“凤凰”,很美的名字.Phoenix是 ...