python-基础-1-基础理论入门

Python

一、什么是python

        **Python究竟是什么:**所有的语言,都是将字符翻译成机器码,然后交给操作系统执行的过程。编译器与解释器的区别。Python 是一个解释器,用来将编写的代码字符解释并且运行,最终获取运行结果返回(实际上python解释器可以理解为一个虚拟机环境)。编译器编译一个可以独立运行的文件,交给操作系统运行并获取结果。

二、python解释器运行步骤

  1. 先启动python3解释器

  2. python3解释器就像一个文本编辑器一样将文件内容xx.py从硬盘读到内存

  3. python3解释器解释执行文件代码

    只有第三阶段才识别Python的语法

三、编写一个小程序

#!/usr/bin/env python3      # 指定环境变量为Python3
# -*- coding: utf-8 -*-		# 编码格式为utf-8,  要知道的是 python2不指定ascill码
#
print("hello world")		# 直接打印直接为hello world

3.1、编码格式

        Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

        UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…

3.2、注释

单行注视:# 被注释内容
#  hello   不会被程序执行

多行注释:""" 被注释内容 """
"""
	随便了,这里被注释了
	随便了,这里被注释了
"""

四、变量

4.1、变量规则

  • 变量名只能是 字母、数字或下划线的任意组合

  • 变量名的第一个字符不能是数字

  • 关键字不能声明为变量名

    import keyword
    print(keyword.kwlist)
    
    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

4.2、变量风格

  1. 驼峰体: AbcDef
  2. 下划线(针对变量名的命令风格, 推荐使用下划线): abc_def
  3. 在python中没有从语法意义上强制性定义常量
  4. 如果在python中需要定义常量, 那应该将变量改为全大写: 如ABC_DEF=“xiong” 只是语法上的规范

4.3、变量赋值及引用

变量:指代一块内存地址的标签,变量的名字就是标识符 如

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

name = "xiong"
age = 111

# id:   查看变量在内存当中的位置
print(id(name))    # 2216937547008
print(id(age))     # 140731486072912

name2 =name        # 2574532270208   # 将name2 变量引用name, 只是修改了内存地址的标签
name = "hello"
print(id(name))    # 2574532270208   # 重新赋值之后 地址就会重新发生改变 
print(id(name2))   # 2574532240640   # 而 name2 依旧还是原先的内存 

五、判断及循环语句

5.1、判断

  1. 判断值是否相等 == 如 a=1 a==b 结果为true
  2. 判断id是否相等 is 如 a=1 b=1 a is b 在pycharm中为true, 交互下为false

5.2、if

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

name = "xiong"
if name == "hello":     # 判断定义的名称是否相等
    print("yep")
else:
    print("不相等")
    
# 通过三元表达式写法
resule = "yep" if name == "hello" else "不相等"
print(resule)

5.3、input

name = input("请输入一个字符串: ")    # 通过控制台输入变量来进行判断

resule = "相等" if name == "xiong" else "不相等"
print(resule)

demo、用户登陆验证

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#

name = input("请输入用户名: ")
pwd = input("请输入密码: ")

if name == "xiong" and pwd == "123":
    print("验证通过")
else:
    print("登陆失败")

# 三元表达式,前期学可先忽略
result = "验证通过" if name == "xiong" and pwd == "123" else "验证失败"
print(result)

5.4、while

5.4.1、基本循环

while 条件:
    # 循环体
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

5.4.2、break用于退出所有循环

while True:
    print "123"
    break
    print "456"

5.4.3、continue用于退出当前循环,继续下一次循环

while True:
    print "123"
    continue
    print "456"

demo

# 用户登陆
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
while True:
    name = input("请输入姓名: ")
    pwd = input("请输入密码: ")
    if name == "xiong":
        if pwd == "123":
            print("验证通过")
            break
            
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#

"""
# 1、使用while循环输入 1 2 3 4 5 6 8 9 10
num = 1
while True:
    if num >= 11: break
    print(num, end="\t ")
    num += 1

# 2、求1-100的所有数的和
num, count_num = 0, 0
while num <= 100:
    count_num += num
    num += 1
print(count_num)

# 3、输出 1-100 内的所有奇数
num, count_num = 0, 0
while num <= 100:
    if num % 2 == 1:
        count_num += num
    num += 1
print(count_num)

# 4、输出 1-100 内的所有偶数
num, count_num = 0, 0
while num <= 100:
    if num % 2 == 0:
        count_num+=num
    num+=1
print(count_num)

# 5、求1-2+3-4+5 ... 99的所有数的和
num, count_num = 0, 0
while num <= 99:
    if num % 2 == 0:
        count_num += num
    else:
        count_num -= num
    num += 1
print(count_num)

num, count_num = 0, 0
while num <= 99:
    count_num = count_num+num if num % 2 == 0 else count_num - num
    num += 1
print(count_num)

# 6、用户登陆(三次机会重试)
count_login = 0

while True:
    if count_login >= 3: break
    name = input("请输入用户名: ")
    pwd = input("请输入密码: ")
    if name == "xiong" and pwd == "123":
        print("验证通过")
        break
    count_login += 1
    print("验证失败 {
    
    }".format(count_login))

# 7、九九乘法表
low = 1

while low <= 9:
    col = 1
    while col <= low:
        print("{
    
    } * {
    
    } = {
    
    }".format(col, low, col*low), end="\t")
        col += 1
    print()
    low += 1
"""

5.5、for

[enumerate用法说明][https://www.runoob.com/python/python-func-enumerate.html]

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#

for i in range(1,10):   # 循环从1开始到10
    print(i, end="\t")

# 列表生成式
li = [i for i in range(1,10)] 
print(li)

for i,u in enumerate(li):   # 枚举循环,  添加下标   enumerate(li,1) 从1开始 
    print(i,u)

demo

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
"""
# 1、使用for循环输入 1 2 3 4 5 6 8 9 10
for i in range(1, 10):
    print(i, end="\t")

# 2、求1-100的所有数的和
count_num = 0
for num in range(1, 101):
    count_num += num
print(count_num)

# 3、输出 1-100 内的所有奇数
count_num = 0
for num in range(1, 101):
    if num % 2 == 1:
        count_num += num
print(count_num)

# 4、输出 1-100 内的所有偶数
count_num = 0
for num in range(1, 101):
    if num % 2 == 0:
        count_num += num
print(count_num)

# 5、求1-2+3-4+5 ... 99的所有数的和
count_num = 0
for num in range(1, 101):
    count_num = count_num - num if num % 2 == 0 else count_num + num
print(count_num)

# 九九乘法表
num = 0
while num <= 9:
    for i in range(0, num):
        print("{
    
    } * {
    
    } = {
    
    }".format(i+1, num, (i+1) * num), end="\t")
    print()
    num += 1
"""

六、运算符

6.1、算术运算符

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为2的10次方, 输出结果 1024
// 取整除 - 返回商的整数部分(向下取整 >>> 9//2 4 >>> -9//2 -5

6.2、比较运算符

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

6.3、赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

6.4、逻辑运算符

运算符 描述 实例
and 布尔 “与” 如果x为false,x and y返回False,否则它返回y的计算值 (a and b ) 返回true
or 布尔 “或” 如果X是True, 它返回True,否则它返回y的计算值 (a or b ) 返回true
not 布尔 “非” 如果X是True, 返回False,如果X为false,它返回True not (a and b ) 返回true

将列表拼成一个字符串

xx=[1,2,3,4]
x2 = [str(i) for i in xx]
print(x2)
l3 = " ".join(x2)
print(l3, type(l3))     # ‘1 2 3 4’ <class 'str'>

猜你喜欢

转载自blog.csdn.net/u010304195/article/details/112902111