• 基本数据类型

1、数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
  1 1)int --> string
2 str是保留关键字,
3 >>>a = 10
4 >>>str1 = str(a)
5
6 2)string --> int
7 >>>x = ""
8 >>>y = int(x) 1 >>> lists = ['a', 'b', 'e', 'c', 'd', 'a']
2 >>> print '列表list转换为str:', ''.join(lists)
3 结果:
4 列表list转换为str: abecda
5
6 >>>strs = 'hongten'
7 >>>print '序列strs转换为list:', list(strs)
8 结果:
9 序列strs转换为list:['h', 'o', 'n', 'g', 't', 'e', 'n']
10
11 >>>print '列表list转换为tuple:', tuple(lists)
12 结果:
13 列表list转换为tuple:('h', 'o', 'n', 'g', 't', 'e', 'n')
14
15 >>>print '整数转换为字符chr:', chr(67)
16 结果:
17 整数转换为字符chr:'C'
18
19 >>>print('字符chr转换为整数:', ord('C'))
20 结果:
21 字符chr转换为整数:67
22
23 >>>print('整数转16进制数:', hex(12))
24 结果::
25 整数转16进制数:'0xc'
26
27 >>>print('整数转8进制数:', oct(12))
28 结果:
29 整数转8进制数:''

2、布尔值

在计算机内部,python使用1来表示True,而使用0来表示False。可以使用int数将布尔值转换为一个整数。

 实例:
>>>print(int(True))
>>>1 >>>print(int(False))
>>>0

也可以用bool函数将一个数字值转换成一个布尔值。如果值为0,这个函数返回False; 否则,这个函数总是返回True。

 实例:
>>>print(bool(0))
>>>False >>>print(bool(1))
>>>True

3、字符串

a、处理字符串的函数

 >>> s = "Welcome"
>>> len(s)
7
>>> max(s)
'o'
>>> min(s)
'W'

b、下标运算符

 >>> s = "Welcome"
>>>for i in range(0, len(s), 2):
print(s[i], end = '')
>>>Wloe >>>s = "Welcome"
>>>s[-1]
'e'
>>>s[-2]
'm'

c、截取运算符

 >>> s = "Welcome"
>>> s[1:4]
'elc'
>>> s[ :6]
'Welcom'
>>> s[4: ]
'ome'
>>> s[1:-1]
'elcom'

d、in和not in 运算符

 >>> s = "Welcome"
>>> 'come' in s
True
>>> 'come' not in s
False

e、比较字符串

 >>> "green" == "glow"
False
>>> "green" != "glow"
True
>>> "green" > "glow"
True
>>> "green" < "glow"
False
>>> "green" <= "glow"
False

f、搜索字串

 >>> s = "welcome to python"
>>> s.endswith('thon')
True
>>> s.startswith("good")
False
>>> s.find("come")
3
>>> s.find("become")
-1
>>> s.find("o")
4
>>> s.rfind("o")
15
>>> s.count("o")
3

g、转换字符串

 >>> s = "welcome to python"
>>> s1 = s.capitalize()
>>> s1
'Welcome to python'
>>> s2 = s.title()
>>> s2
'Welcome To Python'
>>> s = "New England"
>>> s3 = s.lower()
>>> s3
'new england'
>>> s4 = s.upper()
>>> s4
'NEW ENGLAND'
>>> s5 = s.swapcase()
>>> s5
'nEW eNGLAND'
>>> s6 = s.replace("England", "Haven")
>>> s6
'New Haven'
>>> s
'New England'

H、删除字符串的空格

 >>> s = "   Welcome to Python\t"
>>> s1 = s.lstrip()
>>> s1
'Welcome to Python\t'
>>> s2 = s.rstrip()
>>> s2
' Welcome to Python'
>>> s3 = s.strip()
>>> s3
'Welcome to Python'

I、格式化字符串

 >>> s = "Welcome"
>>> s1 = s.center(11)
>>> s1
' Welcome '
>>> s2 = s.ljust(11)
>>> s2
'Welcome '
>>> s3 = s.rjust(11)
>>> s3
' Welcome'

4、列表

a、列表使用的函数

 >>> list = [2,3,4,1,32]
>>> len(list)
5
>>> max(list)
32
>>> min(list)
1
>>> sum(list)
42

b、下标运算符

 >>> list = [2,3,5,2,33,21]
>>> list[-1]
21
>>> list[-3]
2

c、列表截取

 >>> list = [2,3,5,2,33,21]
>>> list[2:4]
[5, 2]
>>> list[:2]
[2, 3]
>>> list[3:]
[2, 33, 21]
>>> list[1:-3]
[3, 5]
>>> list[-4:-2]
[5, 2]

d、列表方法

 >>> list = [2,3,4,1,32,4]
>>> list.append(19)
>>> list
[2, 3, 4, 1, 32, 4, 19]
>>> list.count(4)
2
>>> list2 = [99,54]
>>> list.extend(list2)
>>> list
[99, 25, 54, 99, 54, 99, 54]
>>> list.insert(1,25)
>>> list
[99, 25, 25, 54, 99, 54, 99, 54]
 >>> list1 = [2,25,3,4,1,32,4,1,32,4,19,99,54]
>>> list.pop(2)
25
>>> list1
[2, 25, 4, 1, 32, 4, 1, 32, 4, 19, 99, 54]
>>> list1 = [2,25,3,4,1,32,4,1,32,4,19,99,54]
>>> list.pop(2)
25
>>> list
[99, 25, 54, 99, 54, 99, 54]
>>> list1
[2, 25, 3, 4, 1, 32, 4, 1, 32, 4, 19, 99, 54]
>>>
>>>
>>> list1.pop(2)
3
>>> list1
[2, 25, 4, 1, 32, 4, 1, 32, 4, 19, 99, 54]
>>> list1.pop()
54
>>> list1
[2, 25, 4, 1, 32, 4, 1, 32, 4, 19, 99]
>>> list1.remove(32)
>>> list1
[2, 25, 4, 1, 4, 1, 32, 4, 19, 99]
>>> list1.reverse()
>>> list1
[99, 19, 4, 32, 1, 4, 1, 4, 25, 2] >>> list1.sort()
>>> list1
[1, 1, 2, 4, 4, 4, 19, 25, 32, 99]

e、enumerate遍历列表

 使用如下的方式遍历一个列表,但是缺点是无法读取索引index。
>>> a = [3,4,5,2,3,7,8,9]
>>> for i in a:
... print i
...
3
4
5
2
3
7
8
9 下面两种方法改进,如下举例:
>>> for index,item in enumerate(a):
... print index,item
...
0 3
1 4
2 5
3 2
4 3
5 7
6 8
7 9
>>>
>>>
>>> for i in range(len(a)):
... print i,a[i]
...
0 3
1 4
2 5
3 2
4 3
5 7
6 8
7 9
>>>

5、元组

元组跟列表类似,但是元组中的元素是固定的,也就是说,一旦一个元组被创建,就无法对元组中的元素进行添加、删除、替代或重新排序。

 >>> tuple1 = ("green", "red", "blue")
>>> print tuple1
('green', 'red', 'blue')
>>> tuple2 = tuple([7,1,2,23,4,5])
>>> print tuple2
(7, 1, 2, 23, 4, 5)

6、字典

字典是一个存储键值对集合的容器对象。它通过使用关键字实现快速、删除和更新值。

如创建字典语句:

students =  {”111-34-3434“:"John", "132-56-6290":"Peter"}

a、添加、删除举例:

 >>> students = {"111-34-3434" : "John", "132-56-6290" : "Peter"}
>>> students["234-56-9010"] = "Susan" #从字典添加条目
>>> students["234-56-9010"]
'Susan'
>>> del students["234-56-9010"] #从字典删除一个条目

b、循环条目:

 >>>students = {'111-34-3434': 'John Smith', '132-56-6290': 'Peter'}
>>> for key in students:
... print(key + ":" + str(students[key]))
...
111-34-3434:John Smith
132-56-6290:Peter

c、len函数:

 >>>students = {'111-34-3434': 'John Smith', '132-56-6290': 'Peter'}
>>>len(students)
2

d、检测一个关键字是否在字典中:

 >>>students = {'111-34-3434': 'John Smith', '132-56-6290': 'Peter'}
>>> "111-34-3434" in students
True
>>> "998-34-3434" in students
False
>>>

e、相等性检测:

 >>> d1 = {"red":41, "blue":3}
>>> d2 = {"blue":3, "red":41}
>>> d1 == d2
True
>>> d1 != d2
False
>>>

f、字典方法:

 >>> students = {"111-34-3434":"John", "132-56-6290":"Peter"}
>>> tuple(students.keys())
('111-34-3434', '132-56-6290')
>>> tuple(students.values())
('John', 'Peter')
>>> tuple(students.items())
(('111-34-3434', 'John'), ('132-56-6290', 'Peter'))
>>> students.get("111-34-3434")
'John'
>>> print(students.get("999-334-3434"))
None
>>> students.pop("111-34-3434")
'John'
>>> students
{'132-56-6290': 'Peter'}
>>> students.clear()
>>> students
{}
>>>
 dic = {'k1' : 123,'k2' : 456,'k4' : 111}
n = dic.fromkeys(['k1','k2','k3'],[])
print(n)
n['k1'].append('x')
print(n) 运行结果如下:
{'k2': [], 'k1': [], 'k3': []}
{'k2': ['x'], 'k1': ['x'], 'k3': ['x']} dic = {'k1' : 123,'k2' : 456,'k4' : 111}
n = dic.fromkeys(['k1','k2','k3'],'alex')
print(n) 运行结果如下:
{'k3': 'alex', 'k1': 'alex', 'k2': 'alex'} li = [11,22,44]
new_dict = dict(enumerate(li))
print(new_dict) 运行结果如下:
{0: 11, 1: 22, 2: 44} li = [11,22,44]
new_dict = dict(enumerate(li,10))
print(new_dict) 运行结果如下:
{10: 11, 11: 22, 12: 44} t = (11,22,['alex',{'k1':"v1"}])
t[2][1]['k2'] = 123
print(t) 运行结果如下:
(11, 22, ['alex', {'k1': 'v1', 'k2': 123}]) t = (11,22,['alex',{'k1':"v1"}])
t[2][1].update({'k2':123})
print(t) 运行结果如下:
(11, 22, ['alex', {'k1': 'v1', 'k2': 123}])

python_day2学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. BZOJ1901:Zju2112 Dynamic Rankings——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1901 Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序 ...

  2. Kippo蜜罐的部署、诱捕节点的搭建以及自动告警

    Kippo是一个中等交互的SSH蜜罐,提供了一个可供攻击者操作的shell,攻击者可以通过SSH登录蜜罐,并做一些常见的命令操作. 当攻击者拿下一台服务器的权限后,很可能会进行小范围的端口探测或者批量 ...

  3. bzoj1297: [SCOI2009]迷路(矩阵乘法+拆点)

    题目大意:有向图里10个点,点与点之间距离不超过9,问从1刚好走过T距离到达n的方案数. 当时看到这题就想到了某道奶牛题(戳我).这两道题的区别就是奶牛题问的是走T条边,这道题是每条边都有一个边权求走 ...

  4. JavaScript是没有域的限制

    baidu的通行证处理都是在二级域名passport.baidu.com中处理的,但是baidu很多地方登录都好像是用ajax处理的,他是怎么做的呢?研究了一下,发现一个小技巧. 在http://zh ...

  5. navicat for mysql无法连接数据库和连接数据库慢的问题

    首先在自己虚拟机上登录mysql: mysql -uroot -p 然后赋予权限 GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '1234 ...

  6. java.lang包学习(转自微学苑)

    Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型 ...

  7. Java并发编程学习笔记

    Java编程思想,并发编程学习笔记. 一.基本的线程机制 1.定义任务:Runnable接口 线程可以驱动任务,因此需要一种描述任务的方式,这可以由Runnable接口来提供.要想定义任务,只需实现R ...

  8. Centos6.5+Python2.7 +ffmpeg+opencv2自动安装脚本

    今天安装opencv折腾了多个小时,为以后安装少走弯路,脚本安装 完整 脚本如下: #! /bin/bash sudo yum install -y gcc g++ gtk+-devel libjpe ...

  9. lnmp环境不支持require 解决方法

    lnmp环境配置: 3处改动地方---->排查过程: 从phpinfo.php中查找php.ini-----所在位置 /usr/local/php/etc/php.ini 1.display_e ...

  10. 南阳ACM 题目8:一种排序 Java版

    一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...