python基础(一)

python基础(一)

1. 编码

如果在程序中用到了中文,直接输出结果很可能会出错,比如:

print(“你好”)
解决的办法是,在程序的开头写入如下代码:

 # - *- coding:utf-8 -*-

或者

# coding=utf-8

用于向 Python 解释器声明源代码文件所用的编码类型为“utf-8”,如果代码里有中文,打印的时候可以使中文正常显示。

2. 注释

Python 中的注释包括单行注释和多行注释。

2.1 单行注释

Python 中单行注释以 # 开头:

#第一个注释
print("Hello World") # 第二个注释
执行以上代码,输出结果为:

Hello World

2.2 多行注释

(1)Python 中多行注释可以用多个 # 开头,或者用 ‘’’ 和 “”" 双引注释内容:

 # 第一个注释
 # 第二个注释

'''
第三个注释
第四个注释
'''

"""
第五个注释
第六个注释
"""

print("Hello World")

执行以上代码,输出结果为:

Hello World

(2)通过快捷键进行多行注释

在 Windows 系统中,可以通过鼠标选择需要注释的代码,然后使用“Ctrl+/”可以快速注释或取消注释多行代码:

# def outer(origin):
#     def inner():
#         print("before")
#         res = origin()  # 调用下面的 func 函数
#         print("after")
#         return res
#
#     return inner
print("Hello")

执行以上代码,输出结果为:

Hello

3. 标识符

3.1 标识符的概念

标识符是程序中某一元素(变量、关键字、函数、类、模块、对象)的名字。说通俗点,标识符就是以后给我们写的每个代码所起的名字,就好比我们每个人生下来都要起名字。除了关键字的名字是固定的,其它元素都可以根据标识符的命名规则进行命名。

3.2 标识符的命名规则

标识符由字母( A~Z , a~z )、数字(0-9)、以及下划线(_)组成。

(1)标识符的第一个字符必须是字母( A~Z , a~z )或下划线(_);

比如:

Hello
apple
_max
_Min

(2)标识符的其它部分由字母( A~Z , a~z )、数字(0-9)或者下划线(_)组成;

比如:

Apple10
Apple_10
V_3_V
CON2_5
_Test_3

(3)标识符对大小写敏感;

比如:

A 和 a
Apple 和 apple
Sum_ 和 sum_
_name 和 _NAME
Test2 和 test2

3.3 变量

变量是标识符的一种,是一个用于保存值的占位符。可以通过变量名获得对值的引用,可以是任意的数据类型。变量命名时尽量体现出值的数据类型。如命名 count、length 和 size 表明数据类型是数字,命名 name、title 和 message 表明数据类型是字符串,单个字符命名的变量诸如 i、j、k 通常在循环中使用。

Python 中使用变量,不需要声明,直接为变量赋值即可使用,比如:

a = 10
print(a)

执行以上代码,输出结果为:

10

上述代码中,a 即为变量。但要注意,不能使用没有进行过赋值的变量,使用之后就会报错,比如:

print(a)

执行以上代码,输出结果为:

Traceback (most recent call last):
  File "", line 1, in <module>
    print(a)
NameError: name 'a' is not defined

4. 关键字

4.1 关键字的概念

有一分部标识符是 Python 自带的、具有特殊含义的名字,我们称之为“关键字”,或者“保留字”;关键字已经被 Python 使用,所以不允许开发者自己定义和关键字名字相同的标识符。

4.2 查看关键字

Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:【Win+R】调出【运行】弹窗>>>输入“cmd”>>>点击【确定】>>>在打开的界面中输入“python”>>>回车,进入 Python 交互模式,在交互模式下输入以下代码:

>>> import keyword
>>> 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']

5. 输出

Python 输出主要包括标准化输出、格式化输出、不换行输出、换行输出和更换间隔字符输出。

5.1 标准化输出

Python 编程中 print 的用法是输入 print(),括弧中可以是数字、变量、字符串、列表、元组合字典。需要注意的是:① print 一定要全部小写;② print 后边的括弧要在英文状态输入。

(1)括号内可以是字符串,需要用单引号或双引号括起来,比如:

print("Hello World")
print('Hello World')

执行以上代码,输出结果为:

Hello World
Hello World

(2)括号内可以是数字或者数字的运算,比如:

print(7)
print(7+5)

执行以上代码,输出结果为:

7
12

(3)括弧内可以是变量或者变量的运算,比如:

a = 4
b = 7*8/2
print(a)
print(b)
print(a+b)

执行以上代码,输出结果为:

4
28.0
32.0

(3)括号内可以是字符串和数字的组合,需要把数字用引号括起来作为字符串使用,比如:

print("My lucky number is", " 6 ")

执行以上代码,输出结果为:

My lucky number is 6 

(4)括号内可以是字符串和变量的组合,比如:

a = 3
print("输出的数字为:", a)

执行以上代码,输出结果为:

输出的数字为: 3

5.2 格式化输出(%)

格式化是对字符串进行一定的格式显示或输出的方式,可以通过“%”,“format 函数”和“print(f"string")”实现。

% 符号可以实现字符串的格式化。在字符串内部 %() 表示特定格式字符串的占位,字符串右侧通过 % 连接要格式化的参数,它们和内部占位符 % 一一对应,中间不需要逗号连接。常用的格式符号如下:

i格式符号转换
%d*有符号十进制整数
%s*通过str()字符串转换来格式化
%i有符号十进制整数
%c字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写字母)
%X十六进制整数(大写字母)
%e索引符号(小写’e’)
%E索引符号(大写"E")
%f浮点实数
%g%f和%e的简写
%G%F和%E的简写

① %d 的使用,比如:

number = 6
print("My lucky number is %d" % number)

执行以上代码,输出结果为:

My lucky number is 6

② %s 的使用,比如:

print("My name is %s" % "Li Ming")

name = "Jenny"
print("Her name is %s" % name)

print("My name is %s"" and my lucky colour is %s" % ("Li Ming", "blue"))

执行以上代码,输出结果为:

My name is Li Ming
Her name is Jenny
My name is Li Ming and my lucky colour is blue

5.3 格式化输出(format函数)

format 函数是字符串内嵌的一个方法,用于格式化字符串。以大括号 {} 来标明被替换的字符串,语法格式为:“{}”.format()

(1)通过大括号 {} 的默认顺序依次匹配元组中的参数

str = "{} is a beautiful {}!".format("Beijing","city")
print(str)

执行以上代码,输出结果为:

Beijing is a beautiful city!

(2)通过索引的方式匹配参数

str1 = "{0} is a beautiful {1}!".format("Beijing", "city")
print(str1)
str2 = "{1} is a beautiful {2}!".format("Tianjin","Beijing", "city")
print(str2)

执行以上代码,输出结果为:

Beijing is a beautiful city!
Beijing is a beautiful city!

(3)通过参数名匹配参数

str1 = "{name1} is a beautiful {name2}!".format(name1="Beijing", name2="City")
print(str1)

执行以上代码,输出结果为:

Beijing is a beautiful city!

(4)混合使用

① 可以通过索引,参数名混合进行匹配,但命名参数必须写到最后,否则会报错:

str1 = "{0} is a beautiful {name}!".format("Beijing", name="city")
print(str1)

执行以上代码,输出结果为:

Beijing is a beautiful city!

② 可以通过默认顺序和参数名混合进行匹配,但命名参数必须写到最后,否则会报错:

str1 = "{} is a beautiful {name}!".format("Beijing", name="city") 
print(str1)

执行以上代码,输出结果为:

Beijing is a beautiful city!

③ 不可以索引和默认顺序混合使用,否则会报错。

(5)通过对象的属性匹配参数

class Names:
    Name1 = "Beijing"
    Name2 = "city"


str1 = "{names.Name1} is a beautiful {names.Name2}!".format(names=Names)
print(str1)

执行以上代码,输出结果为:

Beijing is a beautiful city!

(6)引用参数部分

str1 = "The first letter of '{word}' is '{word[0]}'.".format(word="hello")
print(str1)

执行以上代码,输出结果为:

The first letter of 'hello' is 'h'.

(7)数字的处理

① 保留小数位数

str1 = "π is {:.2f}.".format(3.1415926)  #保留两位小数
print(str1)

执行以上代码,输出结果为:

π is 3.14.

② 给数字加千位符

str1 = "{:,}".format(100000000)
print(str1)

执行以上代码,输出结果为:

100,000,000

③ 进制的转换

s1 = "{:b}".format(8)     # 将数字8转换为二进制
print(s1)
s2 = "{:o}".format(8)     # 将数字8转换为八进制
print(s2)      
s3 = "{:x}".format(12)    # 将数字12转换为十六进制
print(s3) 

执行以上代码,输出结果为:

1000
10
C

(8)格式的处理

通过 :数字 指定转换后的字符串长度,不足的部分用空格补充:

s = "{:2}b".format('a')
print(s) 
# 如果指定的长度小于参数的长度,按照原参数匹配
s1 = "{:2}World".format('Hello')
print(s1) 

执行以上代码,输出结果为:

a b
HelloWorld

(9)字符的填充

可通过 :符号^数字 进行字符串的填充,其中数字为填充后的字符串总长度:

s = "{:*^10}".format('Hello')
print(s)

s = "{:-^20}".format('123456')
print(s)

执行以上代码,输出结果为:

**Hello***
-------123456-------

(10)匹配列表、字典中的参数

在 format 函数格式化时,可使用 * 或者 ** 对列表、字典和元组进行拆分。

① 匹配列表中的参数

list = ["Beijing", "city"]
str1 = "{} is a beautiful {}!".format(*list)
str2 = "{1} is a beautiful {0}!".format(*list)
print(str1)
print(str2)

执行以上代码,输出结果为:

Beijing is a beautiful city!
city is a beautiful Beijing!

② 匹配字典中的参数

dict = {"name1": "Beijing", "name2": "city"}
str1 = "{name1} is a beautiful {name2}!".format(**dict)
print(str1)

执行以上代码,输出结果为:

Beijing is a beautiful city!

5.4 格式化输出(frint(f’‘string={}’'))

在 Python 中,print(f"string={}") 是一种用于格式化字符串的语法结构。其中,“string”表示字符串;“f”前缀表示这是一个格式化字符串;“{}”是占位符,用于指示将要插入该位置的变量。注意:“f”后面一定要紧跟字符串,不能隔有空格,否则会报错。

a = 1
b = 2
c = 3
print(f"b={b}, c={c}, a={a}")
# 上面的代码等效于:
print("b={}, c={}, a={}".format(2, 1, 3))

执行以上代码,输出结果为:

b=2, c=3, a=1
b=2, c=1, a=3

5.5 不换行输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=“”,比如:

print("a")
print("b", end="")
print("c")

执行以上代码,输出结果为:

a
bc

5.6 换行输出

(1)print 默认输出是换行的,此外,在变量末尾加上 end=“\n” 可以在多个 print 函数的输出结果中实现换行,比如:

print("a")
print("b", end="")
print("c", end="\n")
print("d")

执行以上代码,输出结果为:

a
bc
d

(2)转义字符 \n 可以在 print 一次性输出的字符串中间换行,比如:

print("123456789---------")
print("123456789\n---------")

执行以上代码,输出结果为:

123456789---------
123456789
---------

(3)可以借助 for 循环和 while 循环实现换行输出,比如:

# for 循环实现换行输出

a = "hello"
for i in a:
    print(i)
# while 循环实现换行输出
j = 0
while j <= 4:
    print(a[j])
    j += 1

执行以上代码,输出结果为:

```python
h
e
l
l
o
h
e
l
l
o

5.7 实现水平制表符输出

(1)在变量末尾加上 end=“\t” 可以在多个 print 函数的输出结果中实现水平制表符,比如:

print("a", end="\t")
print(end="")
print("b")

执行以上代码,输出结果为:

a	b

(2)转义字符 \t 可以在 print 一次性输出的字符串中间实现水平制表符,比如:

print("123456789\t---------")

执行以上代码,输出结果为:

123456789	---------

5.8 更换间隔字符输出

默认情况下,print() 函数一次性输出的两个字符串使用空格分隔,在变量末尾加上参数 sep =“” 可以修改间隔字符,比如:

print("www", "baidu", "com")
print("www", "baidu", "com", sep=".")
print("www", "baidu", "com", sep="/")

执行以上代码,输出结果为:

wwwbaiducom
www.baidu.com
www/baidu/com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值