python学习之旅开始了。。。
python版本为3.7.4,开发工具使用的是PyCharm。

1 数据类型和变量

Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

1.1 Number(数字)

a = 123
print(type(a))
输出结果为:
<class 'int'>

1.2 String(字符串)

a = '字符串'
print(type(a))
输出结果为:
<class 'str'>
  • 字符串中可能会包含一些特殊字符,可以用转义字符\来标识:
a = 'I\'m a boy'  
print(a)  
print(type(a))
输出结果为:
I'm a boy
<class 'str'>
  • \n表示换行,\t表示制表符
print('1\n2')
print('3\t4')
输出结果为:
1
2
3    4
  • r''表示''内部的字符串默认不转义
print(r'不\t转\\义\n了')
输出结果为:
不\t转\\义\n了
  • '''...'''的表示多行内容
print('''  
床前明月光,  
疑是地上霜,  
举杯邀明月,  
低头思故乡。  
''')
输出结果为:
床前明月光,
疑是地上霜,
举杯邀明月,
低头思故乡。
  • 字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
str = 'hello'  
print(str[0: 2]) #从第一个字符到第二个字符
print  (str[0:-2])  # 输出第一个到倒数第三个的所有字符
输出结果为:
he
hel
  • 格式化,用%实现
print('你好, %s, 你现在%d岁了。' % ('小强', 18))
输出结果为:
'你好, 小强, 你现在18岁了'

1.3 List(列表)

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

list = ['abc', 'def', 'ghi', 'gkl']  
print(type(list))
输出结果为:
<class 'list'>
  • 列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
list = ['abc', 'def', 'ghi', 'gkl']  
print (list)  # 输出完整列表  
print (list[0])  # 输出列表第一个元素  
print (list[1:3])  # 从第二个开始输出到第三个元素  
print(list[1:-1])  # 从第二个开始输出到倒数第二个元素
输出结果为:
['abc', 'def', 'ghi', 'gkl']
abc
['def', 'ghi']
['def', 'ghi']
  • 列表修改元素:
list = ['abc', 'def', 'ghi', 'gkl']  
print(list)  
list[0] = 'qqq'  
print(list)
输出结果为:
['abc', 'def', 'ghi', 'gkl']
['qqq', 'def', 'ghi', 'gkl']

1.4 元组(Tuple)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

tuple = ('abc', 'def', 'ghi', 'gkl')  
print(type(tuple))
输出结果为:
<class 'tuple'>
  • 元组截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
tuple = ('abc', 'def', 'ghi', 'gkl')  
print(tuple)  # 输出完整元组  
print(tuple[0])  # 输出元组第一个元素  
print(tuple[1:3])  # 从第二个开始输出到第三个元素  
print(tuple[1:-1])  # 从第二个开始输出到倒数第二个元素
输出结果为:
('abc', 'def', 'ghi', 'gkl')
abc
('def', 'ghi')
('def', 'ghi')
  • 元组里面的元素不可修改
tuple = ('abc', 'def', 'ghi', 'gkl')  
print(tuple)  
tuple[0] = 'qqq'  
print(tuple)
输出结果为:
Traceback (most recent call last):
  File "D:/WorkSpace/Study/pythonTest/dataType.py", line 3, in <module>
    tuple[0] = 'qqq'
TypeError: 'tuple' object does not support item assignment
('abc', 'def', 'ghi', 'gkl')

1.5 Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}  
print(type(student))
输出结果为:
<class 'set'>
  • set集合不允许有重复元素
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student)  # 输出集合,重复的元素被自动去掉
输出结果为:
{'Rose', 'Jim', 'Tom', 'Mary', 'Jack'}
  • set集合可以直接判断某个元素是否在里面
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}  
if 'Mary' in student:  
    print('集合中包含Mary')  
else:  
    print('集合中不包含Mary')
输出结果为:
集合中包含Mary
  • set集合可以进行集合运算
a = {'a', 'b', 'c', 'd'}  
b = {'a', 'f', 'e', 'h'}  
print(a - b)  # a 和 b 的差集  
print(a | b)  # a 和 b 的并集  
print(a & b)  # a 和 b 的交集  
print(a ^ b)  # a 和 b 中不同时存在的元素
输出结果为:
{'b', 'c', 'd'}
{'d', 'b', 'a', 'h', 'e', 'f', 'c'}
{'a'}
{'d', 'h', 'b', 'e', 'f', 'c'}

1.6 Dictionary(字典)

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
在同一个字典中,键(key)必须是唯一的。

dict = {}  
dict['a'] = 'one'  
dict['b'] = 'two'  
print(type(dict))
输出结果为:
<class 'dict'>
  • 基本操作
dict = {}  
dict['a'] = 'one'  
dict['b'] = 'two'  
print(dict)  # 输出完整的字典    
print(dict['a'])  # 输出键为a的值
print(dict.keys())  # 输出所有键  
print(dict.values())  # 输出所有值
输出结果为:
{'a': 'one', 'b': 'two'}
one
dict_keys(['a', 'b'])
dict_values(['one', 'two'])
  • 构造函数 dict() 可以直接从键值对序列中构建字典如下:
d1 = dict([('Baidu', 1), ('Google', 2), ('Taobao', 3)])
print(d1)
d2 = dict(Baidu=1, Google=2, Taobao=3)
print(d2)
输出结果为:
{'Baidu': 1, 'Google': 2, 'Taobao': 3}
{'Baidu': 1, 'Google': 2, 'Taobao': 3}

2 条件判断

2.1 if

如果if语句判断是True,就执行缩进print语句,否则,什么也不做。

a = 25  
if a > 18:  
    print('你已经成年了')
输出结果为:
你已经成年了

2.2 if...else

如果if判断是True,就执行if的内容,不去执行else
如果if判断是False,不执行if的内容,去执行else

a = 16  
if a > 18:  
    print('你已经成年了')  
else:  
    print('你还没有成年')
输出结果为:
你还没有成年

2.3 if...elif...else

elif就是一个if判断,从开始进行判断,条件为True就执行,都没有就执行else

a = 25  
if 0 <= a < 60:  
    print('不及格')  
elif 60 <= a < 80:  
    print('及格')  
elif 80 <= a < 90:  
    print('优秀')  
elif 100 == a:  
    print('满分')  
else:  
    print('输入的分数不合法')
输出结果为:
及格

3 循环

3.1 for...in循环

依次把list或tuple中的每个元素迭代出来

name = \['小红', '小强', '小黑', '小黄'\]  
for value in name:  
    print(value)
输出结果为:
小红
小强
小黑
小黄

3.2 while循环

只要条件满足,就不断循环,条件不满足时退出循环

# 计算100以内所有奇数之和
a = 99  
sum = 0  
while a > 0:  
    sum = sum + a  
    a = a - 2  
print(sum)
输出结果为:
2500

周兆东
107 声望21 粉丝

一个java小白的成长之路。。。