Python自学1

python自学课堂

安装
1.由于Python是免费的软件,所以直接在其官网上下载就行了,官网是www.python.org
安装Python之后会得到Python解释器(负责运行程序的),命令行交互环境和集成开发环境。

2.解释器使用的最广的是CPython。若是想要与Java或.Net平台交互,最好是通过网络调用的方式,这样可以确保各程序之间的独立性。

模式
3.命令行模式:提示符为(C:>)

4.交互模式:在命令行的模式下敲入python就进入了交互模式,他的提示符是(>>>)

5.在命令行模式进入交互模式下输入(exit())就会退回到命令行模式;进入交互模式也可以直接在开始菜单选择Python (command line)菜单项,但是输入(exit())之后就会直接关闭,不会回到命令行模式。

6.在交互模式中,直接输入代码就可以立刻得到代码执行的结果,最后需要用(exit())来推出Python;

7.在命令行模式下,除了可以进入交互模式,也可运行.py文件,执行一个.py文件只能在命令行模式下执行,若是找不到相关文件,得先转换目录才能正常执行

Python文件
8.用文本编译器写python程序,一定要保存为.py文件。

9.在window系统上是无法直接运行.py文件的,但是在mac和linux上是可以的,方法就是在.py文件的第一行加上一个特殊的注释:(#!/usr/bin/env python3),然后通过命令给程序以执行权限:$chmod a+x(程序名).py

10.Python的交互模式和直接运行.py文件的区别:
直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行的输入源代码,每输入一行就执行一行;
直接运行.py文件也相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码。

Python基本语法
11.Python采用的语法是缩进的方式,虽然没有规定缩进是几个空格或是Tab,不过一般是坚持使用4个空格的缩进,缩进会强迫你写出较少的代码;坏处就是复制粘贴功能失效。

12.Python是区分大小写的。

13.若字符串内部既有’'又有"",则用转义字符\来标识,例如:'I\ ‘m\ "ok\ "!’.

14.Python还允许用r’…‘表示’…'内部的字符串默认不转义

15.Python可以用’’’…’’'的格式表示多行内容,出现…则表示继续输入下一行直至你输入…),程序跳出。

16.布尔值用and,or,not计算。

17.三种除法:
(/):精确除法,会保留小数点后几位;
(//):地板除,除出来的数永远是整数,例如:(10//3=3);
(%):余数运算,可以得到两个整数相除的余数,例 如:(10%3=1);

list
18.list是Python内置的一种数据类型,名为列表,list是一种有序的集合,可以随时添加和删除其中的元素。用len()函数可以获得list元素的个数。

19.用索引来访问每一个元素的位置,索引是从0开始的,例如:classmates[0] ‘Michael’;当索引超出了范围,Python会报一个indexError错误,最后一个元素的索引是len(classmates)-1。可以用-1坐索引,这样可以直接获取最后一个元素例如:classmates[-1] ‘George’。

20.list是一个可变的有序表,可以往list中加入元素,
加到末尾classmates.append('Adam');
加到指定(i)位置classmates.insert(i,'Jack');
删除末尾元素,用pop()方法classmates.pop();
删除指定位置元素,用pop(i)方法,i为索引位classmates.pop(i);
替换元素,可以直接赋值给对应的索引位置classmates[1]='Sarah'
list元素类型也可以不同L=['Apple',123,True]
list也可以包含另一个list

tuple
21.另一种有序表叫tuple,但tuple一旦初始化就不能修改,若是可以,尽量用tuple代替list,因为他更安全,稳定。定义tuple可写为t();定义一个只有1个元素的tuple时要写为t(1,)这个不能省略;tuple中可包含list。tuple虽然不可变,但是list可变,tuple中可以嵌套list。

22.根据Python的缩进规则,若果if语句判断是True,就把缩进的两行print语句执行了,什么也不做,若有else,false的话就执行else,Python中,if,else,elif后都需要例如if age>=18:

23.要多加判断语句的话可写elif,elif是else if 的缩写,大致的写法就是:

if xxxx>xxx:
    xxx
elif  xxx>xxx:
    xxx
elif  xxx>xxx:
    xxx
elif  xxx>xxx:
    xxx
else:
    xxx

24.input返回的数据类型是str,str不能直接和整数比较,必须把str转换成整数,可以用int(),float()或者double()是函数,

  s=input('birth:')
  birth=int(s)

循环
25.Python循环方式有两种,一种是for…in…循环,依次把list火tuple中的每个元素迭代出来:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)
结果是:
Michael
Bob
Tracy

所以for x in …就是把每个元素带入x,然后执行缩进块的语句。
第二种就是while循环,只要条件满足,就不断循环,条件不满足退出
计算100以内所有技术之和:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

26.break语句可以提前退出循环;continue可以跳过当前的这次循环,直接开始下一次的循环。

27.range()函数可一个生成一个整数序列,在通过list()可以转换为list,range(5)生成的序列是从0-4的整数

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

dict
28.dict(字典,dictionary),使用键-值(key-value)存储,具有极快的查找速度,

>>>d={'Michelle':96,'George':69,'Bob':70}
>>>d['Michelle']
 96
除了初始化时指定外,还可以通过key放入:
<<<d['George']=69
<<<d['Geoge']
 69

29.如果key值不存在,dict就会报错,要避免报错,有两种办法

第一种办法就是通过in判断key是否存在
>>>'George' in d
 False
第二种办法就是get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>>d get('George')            //这里get()已经返回了None值,返回None值的时候Python的交互环境不显示结果
>>>d get('George',-1)       //这里返回的是自己指定的value值-1
 -1
要删除一个key,用pop(key)方法,对应的value也会从dict中删除

30.dict内部存放的顺序和key放入的顺序没关系
和list相比,dict有以下几个特点:

           1、查找和插入的速度极快,不会随着key的增加而变慢;
           2、需要占用大量的内存,内存浪费多。

而list相反:

           1、查找和插入的时间随着元素的增加而增加;
           2、占用空间小,浪费内存少。

所以,dict是用空间来换取时间的一种方法。需要牢记的一点就是dict的key必须是不可变对象,这是因为dict根据key来计算value的存储位置,而用key计算位置的算法称为哈希算法(Hash),在python中,字符串和整数等都是不可变的,所以可以放心的作为key,而list是可变的,就不能作为key

31.set跟dict类似,也是一组key的集合,但是不存储value,由于key不能重复,所以在set中,没有重复的key,重复的元素会被set自动过滤,set是无序无重复元素的集合
通过add(key)的方法可以添加元素到set中,添加了重复的元素也会被自动删除;
通过remove(key)的方法可以删除元素

>>>s=set([1,1,2,4,3,3,4])
>>>s
 {1,2,3,4}
>>>s.add(5)
>>>s
 {1,2,3,4,5}
>>>s.remove(5)
>>>s
{1,2,3,4}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值