第一章 在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. T-SQL编程语句

    书接上回 一起学习下SQL中的表连接 一般情况下咱们会使用鼠标去进行表连接操作,那针对于像我比较懒的并且眼盲的,不喜欢来回切换,咱们就用到了点T-SQL表连接语句 一般情况咱们从两个表中查出来相似的内 ...

  2. Linux常用命令快查

    一.读取配置文件中某一个变量的值 假如有一个配置文件dubbo.properties,需要读取dubbo.application.name的值: dubbo.application.name=book ...

  3. JS中的几种函数

    函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识: 包装函数:        (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问 ...

  4. Python之路- 反射&定制自己的数据类型

    一.isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super ...

  5. poj3020二分图匹配

    The Global Aerial Research Centre has been allotted the task of building the fifth generation of mob ...

  6. Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 解决方法

    这个问题是在用到spring时,本地IDE里面跑的很正常,但是打包后在集群上运行时报错. 多方查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,会存在文件覆盖的情况. 具体是 这三个 ...

  7. 初识Eclipse!!

      Java之路 ——初识Eclipse   零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 ...

  8. ContentSize、Contentoffset以及ContentInset属性

    ContentSize UIScrollView可以滚动的区域.在我的理解中,我把UIScrollView看成是具有上下两层的一个复合视图,frame控制着上层的大小,我们看到的UIScrollVie ...

  9. LogBack学习

    Logback背景 Logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的.logback由三个部分组成,logback-core, logback-classic, log ...

  10. [UWP]不怎么实用的Shape指南:自定义Shape

    1. 前言 这篇文章介绍了继承并自定义Shape的方法,不过,恐怕,事实上,100个xaml的程序员99个都不会用到.写出来是因为反正都学了,当作写个笔记. 通过这篇文章,你可以学到如下知识点: 自定 ...