python3.x 快速入门

Edit the > 2018/6/15 11:26:53

1认识Python

人生苦短,我用python
- 优雅,明确,简单 是python设计哲学
- python的设计目标之一, 是让代码具备高度的可阅读性
- python 被广泛用于web程序,GUI开发,操作系统,科学计算,人工智能,游戏等领域;


python的特点

  • 是一种动态语言
  • 被设计成可扩充的
  • 是一种完全面向对象的语言
  • 语法简洁,开发效率高,维护成本低
  • 跨平台,功能强大

2python的版本与选择

  • python2.x与python3.x
  • python核心团队计划在2020年停止支持python2
  • python2.7是最后一个python2.x版本
  • 建议使用pytho3.6.x进行学习

3安装python开发环境

下载pythonhttps://www.python.org/downloads/release/python-365/
- windows环境
-
- macos环境:python下是默认python2的. 所以要切换python 很简单. 直接敲python3 即可
- linux环境



- 关于IDE的选择:PyCharm


4基本语法规则

4.1选择编译

#!/use/bin/python3

#在mac和linux环境下要加#!/use/bin/python3  注明解释器要用这个编译

4.2注释

# 单行注释

'''
多行注释
'''

"""
 多行注释
"""

4.3代码块

# python是用空格来代表代码块的 不像js 和java 等于语言里面的 {}
if True:
print("true")
else:
print("false")

4.4数据结构

  1. Number
    • int(x [,base ]) 将x转换为一个整数
    • long(x [,base ]) 将x转换为一个长整数
    • float(x ) 将x转换到一个浮点数
    • complex(real [,imag ]) 创建一个复数 *
    • str(x ) 将对象 x 转换为字符串
    • repr(x ) 将对象 x 转换为表达式字符串
    • eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
    • tuple(s ) 将序列 s 转换为一个元组
    • list(s ) 将序列 s 转换为一个列表
    • chr(x ) 将一个整数转换为一个字符
    • unichr(x ) 将一个整数转换为Unicode字符
    • ord(x ) 将一个字符转换为它的整数值
    • hex(x ) 将一个整数转换为一个十六进制字符串
    • oct(x ) 将一个整数转换为一个八进制字符串
  2. String
  3. List(列表)
  4. Tuple(元组)
  5. Sets(集合)
  6. Dictionary(字典)

    a = 10
    b = 2.3
    c = True
    d = 3 + 4j # 复数 j复数单位
    print(a)
    print(b)
    print(c)
    print(d)

    type() 判断数据类型

    print(type(a))
    print(type(b))
    print(type(c))
    print(type(d))

4.5变量

# 变量
'''
声明时不付值是不会被使用的
第一个字符必须是字母或_开头
'''
a1 = 200
b1 = c1 = d1 = e1 = 1  # 多变量赋值
a2, b2, c2 = 1, 2.3, "我"  # 分别赋值
print(b1, c1, d1, e1)
print(a2, b2, c2)
del a1  # 删 对象

4.6运算符

4.6.1算术运算符

print(5 ** 3)  # 幂运算 5的3次方
print(7 // 3)  # 不要余数 取整商

4.6.2比较运算符

和其他语言相同

4.6.3赋值运算符

和其他语言相同

4.6.4逻辑运算符

and or not 与或非 #python
&& || ! 其他编程语言

4.6.5位运算符

按照二进制位 来运算的
& 与
| 或
^ 亦或
~ 按类取反
移位 >>右 <<左

4.6.6成员运算符

in 在
not in 不在
在一个集合里有还是没有 该值

4.6.7身份运算符

表示对象的存储单元的
is
is not
是不是引致一个对象

4.6.8运算符优先级

指数>位运算>乘除摸加减等

4.7string类型操作

# python中没有字符类型
#拼接
a = 'asdf'
b = "asdfasd"
c = """
多行
字符
串
"""
print(a + b + c)


# 在cd之间插入其他字符
str1 = "abcdefg"
print(str1[:3] + "123" + str1[3:])

# 截取
print(str1[2:5])

# 格式化
print('ABCD%d' %(123))
print('%x' %(100))
print("name:%s,age:%d" %("Tom",21))

4.7函数

def hello(str):
print("hello: %s" % (str))


hello("tom")


def fun01(a, b):
return a + b


print(fun01(1, 2))


def fun02(a=2, b=4):
return a + b


print(fun02(2, 2))
print(fun02())

4.8变量的作用域

'''
L   (local) 局部作用域
E   (Enclosing) 闭包函数外的函数中
G   (Clobal)  全局作用域
B   (Built-in)  内建作用域
'''
x = int(32)  # 建内作用域
g_a = 0  # 全局作用域


def function03():
    o_c = 1  # 闭包作用域

def function04():
    i_b = 3  # 局部作用域

.
#空函数 pass占位符
def function05():
pass

4.9模块

4.10流程控制

# 循环语句
n = 100
sum = 0
counter = 1
while counter <= n:
    sum += counter
    counter += 1
    print(sum)

# 嵌套
if True:
    if True:
        pass
    else:
        pass
else:
    pass

# 循环输入;
while True:
mun = int(input("请输出一个数字"))
print("输出的数字的是", mun)

counter = 0
while counter < 3:
    print("counter:", counter)
    counter += 1
else:
    print("counter", counter)
# 在python 后面是可以添加else 语句的
counter = 0
while counter < 3:
print("counter:", counter)
    counter += 1
else:
    print("else-counter", counter)

# for 循环语句 后面是可以添加else 语句的
for a in [1, 2, 2.51, 5]:
    print(a)
else:
    print("haha")

for a in range(0,5):
    print(a)

for a in range(3,5):
    print(a)

for a in range(1,5,2):
    print(a)

4.11 内置数据结构

# 列表为例
list=["abcd",123,3.14,True]
print(list*3)#连续输出3次
print(list[0])
print(list[3])

list2=["haha",100]
#加号拼接
print(list+list2)
#截取片段
list[0]="ABCD"
list[1:3]=[321,99.99]

# 集合
set1 = {"tom", "marry", "jack", "rose", "tom"}
set2 = set("asdfqwer")
print(set1)  # 重复的tom 被去掉了

# 判断里面是不是有这个集合元素
if "jeck" in set1:
print("zai")
else:
print("bu zai")

set3 = set('adsa12345')
print(set2)
print(set3)
# 集合的差集
print(set2 - set3)
# 集合的并集
print(set2 | set3)
# 集合的交集
print(set2 & set3)
# 不同是存在的
print(set2 ^ set3)


  • List(列表)
    可以看成数组
    [var1,var2,var3,…]
  • Tuple(元祖)
    可以看成数组.但是里面的元素不能修改.只读的列表
    (var1,var2,var3,…)
  • Sets(集合)
    可以看成数组.但是里面的元素不能重复
    {var1,var2,var3,…}
  • Dictionary(字典)
    以键值对成堆出现的
    {key1:var1,key2:var2,key3:var3,…}

strint ,元祖 ,列表 都属于序列 所以都是for循环

你可能感兴趣的:(计算机理论基础)