第一章 在python中使用数字

1.用变量存储信息

1.1变量的类型

变量,用于存储很多不同的数据类型的信息。

基本数据类型

数据类型 存储内容 示例
integer  
float 浮点  
long 非常大的数  
string 字母数字空格和符号  

list【列表(有时候叫数组)】

方括号括住一组,并且项与项之间用逗号分割。  
tuple【元祖】 圆括号括住的一组项,这些项不能改变  
dictionary【字典】 配对的键值对,用花括号  

1.2变量中存储数字

type()内置函数用来取得任何变量数据类型

>>>a=5
>>>type(a)
<type 'int'>

2.在python中做数学运算

python中的运算符

运算 符号
加法  
减法  
乘法  
除法  
Floor除法 //
取模 %
取反 -
绝对值 abs( )
求幂 **

2.2运算组合注意点

1.表达式中如果有一个浮点数,他将返回浮点数。(如一个整数和浮点数相加)

如果表达式中都是同一个数据类型,返回还是这个数据类型。

2.下面是python解释器的问题:[返回结果]

>>>1/2
0
>>>1/float(2)
0.5

3.python中唯一不能做的的事情就是除以0.

第二章 编程中的逻辑

1.创建代码块

缩进,利用空白(空格)来标识代码块。

只有所有的语句缩进到同一层次,这些语句将被看做是统一代码块的一部分。

python代码的标准是为每个代码块使用四个空格。【安全做法是使用空格】。

2.if...else...语句

>>>a=5
>>>if a>5:
...    print "Greater than five"
...else:
...    print "Five or less"
...
Five or less

3.用elif表示多条件判断语句

>>>total = 40.29
>>>if total >50:
...    print "more thon 50";
...elif total >40:
...    print "less than 50 more than 40"       //比如51满足了(>50)、(>40)这两个条件,
...else:                                       //执行的时候唯一执行第一个为真的语句下面的代码块
...    print "less than 40"
...

4.每个数据类型的使自己为假的方式

数据类型的为假的值

数据类型
integer 0
float 0.0
long 0
string “ ”
list [ ]
dictionary { }
tuple ( )

5.使用 try / except 避免错误

try/except语句由两个代码块组成,

python首先尝试运行try语句,如果得到任何错误,它将运行except代码块的代码。

>>>try:
...    5/0
...except:
...    print "don't do that"
>>>a=5
>>>try:
...    a=a+1                        //出现错误之前的变量修改依然保存修改后的值。
...    a=a/0
...except ZeroDivisionError:        //捕捉导致程序错误的某些异常列表
...    print "don't do that"
...
don't do that
>>>print a
6

注意:如果不想在except代码块中做任何操作(纯粹是为了避免报错),应该怎么办?

||__和else一样,except代码块是必须的。

||__在except中放置一条pass语句。

>>>try:
...    5/0
...except:
...    pass

第三章 在字符串中存储文本

了解:字符串的唯一目的是为了程序保存文本。

>>>s="Hello world"
>>>s
'Hello world'

1.打印字符串

>>>print 'Apple: ',           //在print语句的末尾添加一个逗号(,)可以转到下一行不立即打印
>>>print '$ 1.99/ 1b'
Apple: $ 1.99/ 1b

2.获取字符串相关信息的方法

字符串格式化方法

方法 描述 示例
.len() 字符串长度  
.upper() 全部大写 ‘HELLO WORLD’
.lower() 全部小写 'hello world'
.capitalize (整个字符串中)唯一首字母大写 ‘Hello world’
.title() 每个(空格或者标点符号后)单词首字母大写 'Hello World'

字符串内容是否为真 【并符合要求】

方法 描述
.is_alpha 字符串是否全部由字母组成
.is_digit 字符串是否全部由数字组成
>>>birth_year="1980"
>>>state="VA"
>>>birth_year.isdigit()
True
>>>state.isalpha()
True
>>>birth_year="1980 "     //数字字符串中增加了一个空格
>>>birth_year.isdigit()
False
>>>state="VA123"          //字母字符串里面增加了数字
>>>state.isalpha()
False

3.字符串的数字运算、比较运算、连接运算

/*连接字符串“+”*/
>>>first_name="joe"
>>>last_name="ful"
>>>first_name+" "+last_name    //在名字和姓氏之间增加一个空格
joe ful
//各种字符串的乘法演示
/*乘法(复制字符串)*/
>>>s='hello '
>>>s*5
'hello hello hello hello hello '

/*字符串中保存了一个整数的乘法*/
>>>s='5'
>>>s*3
'555'

/*字符串乘以负数得到空字符串*/
>>>s="hello"
>>>s*-5
''

/*字符串乘以浮点数的话报错(例子不举了)*/

注意:能够用于字符串的运算符号只有加法和乘法!

4.格式化字符串的方法

1.strip()删除两头空格或者制定字符

>>>first_name="Hannah "
>>>first.strip()
'Hannah'
>>>bad_input="****Hannah****"
>>>bad_input.strip(*)
'Hannah'
>>>bad_input.rstrip(*)
'****Hannah'
>>>bad_input.lstrip(*)
'Hannah****'

2.查找文本和替换文本的方法

.count()返回一个字符串在另外一个字符串里面出现的次数。

.find()   找到字符串在文本字符串中第一次出现的位置(如果没有,返回-1)

>>>long_text.count('the')
>>>long_text.find('the')

.replace()传递两个参数,找到第一个参数代表字符串的所有实例,并且用第二个参数代替的字符串替代它。

>>>long_text.replace('ugly','meh')
"Beautiful is better than meh"

第四章 信息的输入和输出

1.从命令行获取信息

input()          用于收集信息。(1.字符串必须用引号包括。2.缺点输入非数字内容,程序会崩溃)

raw_input()   用于收集任何非数字的信息(1.把任何内容保存为字符串2.如果需要数字的话需要转换)

||__注意python不能转换一个恰好保存在字符串中的浮点数

>>>number=input()
5
>>>number
5       //数字

>>>str=raw_input()
5
>>>str
'5'     //字符串

>>>s=input()
Hello    //[程序报错]没有用引号的input,会报错

/*看看(下面两个例子中)字符串中用法的区别(主要是引号)*/
>>>s=input()
"Hello"
>>>s
'Hello'   

>>>name=raw_input()
Katie
>>>name
'Katie'

2.获取输入的密码

>>>from getpass import getpass
>>>password=getpass()
password:
>>>password
'hello'

3.格式化用户的输入

>>>year=raw_input("What year were you born [ex:1980]?  :")
What year were you born [ex:1980]?  :92
>>>if len(year) !=4 or not year.isdigit():
...    print "I'm sorry,I don't like that number."
...else:
...    print "That's good. Moving on!"
...
I'm sorry,I don't like that number.
/*清理并格式化输入字符串首尾的空格*/
>>>name=raw_input("Street name please  :")
Street name please  : Covington Drive
>>>name
' Covington Drive '
>>>name=name.strip()
>>>name
'Covington Drive'

4.格式化输出

format()函数:为插入内容留下空间:

>>>greeting="Good {},{}.How are you doing?"
>>>name="Hannah"
>>>time="morning"
>>>print greeting.format(time,name)
Good morning,Hannah.How are you doing?
>>>specials_text="Good {time}! Today's specials are: {spcial1} and {special2}."
>>>time='afternoon'
>>>food1="spam with eggs"
>>>food2="eggs with spam"
>>>print specials_text.format(time=time,special1=food1,spcial2=foods2)
Good afternoon! Today's specials are: spam with eggs and eggs with spam.
>>>fruit ="Types of fruit on sale:{},{},{}."
>>>fruit.format('apples','pears','mangos','bananas')
Types of fruit on sale:apples,pears,mangos.

第五章 列表

将项组合到一种叫做列表的变量中。

1.创建列表

可以使用变量来创建一个列表,但是保存在列表中的,只是变量中内容的一个副本。

||__如果我们修改最初的变量,列表中的值不会改变。[如下例子]

>>>fruit1='apple'
>>>fruit2='banana'
>>>fruit_list=[fruit1,fruit2]
>>>fruit_list
['apple','banana']
>>>fruit1='grapes'
>>>fruit_list
['apple','banana']

2.获取有关列表的信息

len()     获知列表中有多少项

count()统计列表中某个项的总数

index() 找到一个项在列表中出现的第一次的索引位置【如果该项不在列表中,返回一个错误】

>>>color_list=['red','blue','magenta','red','yellow']
>>>'pink' in color_list
Flase
>>>'red' in color_list
True
>>>color_list.index('blue')
1
>>>color_list.count('red')
2
>>>len(color_list)
5

3.操作列表

append()    在列表末尾添加一个项

extend()     操作一个列表的所有项,添加到另一个列表的结尾。

remove()    删除项,并把列表中的所有项向前移动一位

||__【如果没有找到对相应的项,它将抛出一个错误并停止运行程序】

||__【方法是向python提供想要删除的值,而不是这个项的索引】

insert()        指定位置(不是末尾)添加一个项

>>>toppings=[]
>>>toppings.append('pepe')
>>>toppings.append('mush')
>>>toppings
['pepe','mush']
>>>order1=['pizza','fries','baklava']
>>>order2=['soda','lasa']
>>>order.extend(order2)
>>>order1
['pizza','fries','baklava','soda','lasa']
>>>colors=['red','yellow','green','blue','indigo','violet']
>>>colors.insert(1,'orange')
>>>colors
['red','orange','yellow','green','blue','indigo','violet']

4.列表的中使用数学运算

注意:当使用append()和extend()时,则会改变某一列表。

【不想改变任何一个列表的时候,可以用列表的数学运算

>>>a=[1,2,4]

>>>b=[5,7,10]

>>>a+b

[1,2,4,5,7,10]
>>>nums=[1,2,3]
>>>nums*3
[1,2,3,1,2,3,1,2,3]

5.列表排序

reverse()   反转列表中的项

sort()        把列表中的项按照数字排序并按照字母排序

>>>mixed=[5,1,4.0,'Haarold','Carol',7]
>>>mixed.sort()
>>>mixed
[1,4.0,5,7,'Carol','Haarold']
>>>mixed.reverse()
['Haarold','Carol',7,5,4.0,1]

第六章 使用循环重复代码

1.如何重复一段代码一定次数

一.获取数字范围

range()接受一个整数并返回一个数字列表

>>>range(7)
[0,1,2,3,4,5,6]

              ||__如果不想从0开始,那就给range()传递两个参数

>>>range(1,5)
[1,2,3,4]

||__让range()按照一定数值(步长)递增选取数字范围,给range()传递三个参数

>>>range(2,20,2)
[2,4,6,8,10,12,14,16,18]

开始循环打印选定范围的数字

>>>for i in range(5):
...    print i
...
0
1
2
3
4

||__按照降序显示一个范围

>>>range(10,0,-1)
[10,9,8,7,6,5,4,3,2,1]

二.命名循环变量

>>>for year in range(1980,2020):
...     print "In the {}".format(year)
...

        三.遍历列表

>>>cats=['manx','tabby','calico']
>>>for cat in cats:
...    print "That's a nice {} you have there!".format(cat)
...

四.循环到特殊选项时候跳到下一个列表项

>>>numbers=[5,2,0,20,30]
>>>for num in numbers:
...    if num==0:
...        print "hi,you gave me a 0"
...        contine
...    new_number=100.0/num
...    print "100/{}={}".format(num,new_number)
...
100/5=20.0
100/2=50.0
hi,you gave me a 0
100/20=5.0
100/30=3.33333333333

五.跳出循环

注意:else语句允许为for循环添加另外一个代码块;

【break语句没有运行的时候,else代码块中的语句会被打印出来】

【for循环创建的变量,在for循环完成后并不会消失,它将是for循环中所用到的最后一个值】

>>>cart=[50.25,20.98,99.99,1.24,.84,60.03]
>>>for item in cart:
...    print item
...    if item>100:
...        print "you are going to ..."
...        break
...else:
...    print "no run ... ..."
...
50.25
20.98
99.99
1.24
0.84
60.03
no run ... ...

2.只有为真的时候重复

一.while循环

>>>age=raw_input("please give me your age in years (eg. 30):")
>>>while not age.isdigit():
...    print "I'm sorry ,but {} isn't valid.".format(age)
...    age=raw_input("please give me your age in years (eg. 30):")
...print "Thanks! Your age is set to {}".fromat(age)
isdigit只能用在str(字符串)上

二.无限循环

>>>while True:
...    text=raw_input("Give me some text,and I'll count the e's. Enter 'q' to quit :")
...    if text =='q':
...        break
...    print text.count('e')
...
Give me some text,and I'll count the e's. Enter 'q' to quit :Katie
1

第七章 创建简单的脚本

一.创建一个基本的函数

>>>def hello2(name):
...   print "Hello,{}".format(name)
...
>>>hello2('hannah')
Hello,hannah

二.传递值给函数

>>>def print_total(customer_name,items):
...    print "Total for {}".format(customer)
...    total=0
...    for ite in items:
...        total=total+ite
...    print "${}".format(total)
...
>>>print_total(items=[4.52,6.31,5.00],cstomer_name='Karen')
Total for Karen
$15.83

1.设置默认值

>>>def print_welcome(first,last,middle=''):       //默认值设置规则:最后定义参数的默认值
...     print "Welcome,{}{}{}!".format(first,middle,last)
...
>>>print_welcome(first='James',last="Joe")

2.返回值

||__return可以返回一个值

||__return也可以返回多个值(用逗号隔开即可)【即返回一个元组】

>>>def get_square_and_cube(number):
...    square=number**2
...    cube=number**3
...    return square,cube
...
>>>result=get_square_and_cube(5)
>>>result
(25,125)
>>>square,cube=get_square_and_cube(3)     //将返回的值赋给他们自己的变量【变量个数应该和元组的项个数一致,否则错误】
>>>square
9
>>>cube
27

||__return也可以不返回值,只用来中断程序,返回到主程序

>>>def check_year(year):
...    if len(year)!=4:
...        print "{} is invalid sa a year.".format(year)
...        return
...    print "Good, that seems t work as a year!"
...
>>>check_year("80")
80 is invalid sa a year.

三.函数中变量的作用域

当传递一个值给函数时,通常是传递值的副本。

四.在函数中组织函数

一个函数把多个函数聚集起来。(通常这个函数叫main())

>>>def main():
...    username=get_username()
...    password=get_password()
...    authenticated=authenticate(user=username,password=password)
...    if authenticate:
...        print_timesheet(username)
...        add_hours(username)
/*
*如果想把程序作为脚本来运行,有两种方法来调用
*一.在函数之外调用main()函数
*二.在文件的底部,所有的函数之外,添加下面两行代码。
*   if __name__=="__main__":       //__name__是一个特殊的变量,在python运行一个文件时候设置。
*       main()
**/

五.传递可变数目的参数

如果不知道用户需要传递多少个参数,则用到下面两个:

1.**kwargs

>>>def test_args(item_one,item_two,**kwargs):
...    print item_one
...    print **kwargs
...
>>>test_args(item_one="hello",item_two="world",item_three="how are you?")
hello
{'item_three':'how are you?'}      //多余参数储存在字典

2.*args

>>>def test_args(first,second,*args):
...    print first
...    print args
...
>>>test_args(1,2,3,4,5)
1
(3,4,5)                       //后面三个值存在元组中了

第八章 使用字典匹配键和值

【把一部分数据和另外一部分数据配对的时候,字典很有用。】

一.创建字典

>>>states={}
>>>typeof(states)
<type 'dict'>

pop()  删除一个键,并返回这个键对应的值。

                ||__如果没有键和我们给pop()函数的值匹配,python会抛出一个错误。

>>>states={
...    "vip":"rich",
...    "mar":"ann",
...    "new":"alb",
...    }
>>>states['abc']="xyz"    #访问和设置通过"dict[键]"的形式#如果没有与该键对应的值,将会抛出错误并退出
>>>states.pop("vip")      #pop()函数中传递的是键的字符串,和上一行不同。
'rich'
>>>states
{'mar':'ann', 'new':'alb','abc':'xyz'}

二.获取有关字典信息

has_key()   查看字典内一个键是否存在。

关键词    in      查看键是否存在字典中。

>>>dic={'one'=1,'two'=2,'tree'=2}
>>>dic.has_key('one')
True
>>>'one' in dic
True
>>>dic.values()
[1,2,2]                               #即使两个值相等,也会被添加到values()返回的列表中

values()    返回字典中所有使用的值的一个列表

keys()       返回字典中所有使用的键的一个列表

三.字典需求的根源解析--字典不看重顺序

python不会按照顺序来保存字典中的项,两个字典中只要键值对是相同的,那么这两个字典是相同的。

如果需求项按照特定的顺序存储的话,那就用列表。

python基础入门教程《python入门经典》的更多相关文章

  1. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  2. Python基础入门教程,Python学习路线图

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  3. Python怎么样入门?Python基础入门教程

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  4. Python基础入门教程(4)(数据类型)

    人生苦短,我学Pyhton Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于199 ...

  5. python基础入门教程(一条龙服务)

    一.语言基础 01-1 计算机系统 解释器下载 变量   小整数池 01-2 垃圾回收机制 02 数据类型 运算符(解压赋值等) 03 流程控制 if while for 04 整形 字符串 列表 0 ...

  6. Python基础入门教程(3)

    人生苦短,我学Pyhton Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于199 ...

  7. Python运算符 - Python零基础入门教程

    目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...

  8. Python break/continue - Python零基础入门教程

    目录 一.break 二.continue 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python wh ...

  9. Python for循环 - Python零基础入门教程

    目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...

随机推荐

  1. 关于 centos 7系统,iptables透明网桥实现【转载请注明】

    首先建立网桥:(使用bridge)    示例 桥接eth0 与 eth1 网口 /sbin/modprobe bridge /usr/sbin/brctl addbr br0 /sbin/ifup ...

  2. iOS多线程的三种方法

    前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要阻塞主线程.iOS中有以下3种多线程编程方法: NSThread Grand ...

  3. js 数组方法总结

    Array数组: length属性 可通过array.length增加或者减少数组的长度,如;array.length=4(数组长3,第四位为undefined),也可单纯获得长度.array[arr ...

  4. CF #299 div1 B. Tavas and Malekas KMP-next数组

    题目链接:http://codeforces.com/contest/536/problem/B 一个原始字符串,一个未知字符串,每一次从pos[i]开始覆盖未知字符串,问最后字符串的形式,以及判断过 ...

  5. Layui的一点小理解(上)

    首先声明这是个人的一点理解,如有不对之处请指正,以下的例子有在官网上看到的,有的是自己写的.还是老规矩最后会附上官网的,如有不明白之处,请查看文档或留言. 既然说Layui,当然要简单的介绍以下什么是 ...

  6. idea 查看tomcat源码

    一.源码下载 SVN :http://svn.apache.org/repos/asf/tomcat/ GIT :https://github.com/apache 二.添加pom.xml文件 1. ...

  7. java 对时间(Date)随笔!

    /** * 获取系统当前时间 * @return 系统当前时间 */ public static Date now() { return new Date(); } /** * 根据指定的日期,获取其 ...

  8. 原生JS-----论数据类型检测

    常见的数据类型检测的方法: 一.最为基础的typeof 二.不可不知的instanceof 三.比instanceof更好的constructor 四.检测值或者表达式的结果是否为NaN 五.易用的j ...

  9. Python的RSA加密和PBE加密

    最近在写接口的时候,遇到了需要使用RSA加密和PBE加密的情况,对方公司提供的DEMO都是JAVA的,我需要用python来实现. 在网上搜了一下,python的RSA加密这块写的还是比较多的,但是P ...

  10. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence

    python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal m ...