Python丨语法丨基基基基础 + 判断、循环

我是不是要从基基基基础写到基础啊XD

通用技术

1. hello world

print("hello world")

2. 注释

对程序代码进行解释说明的文字。(一款我的自言自语)

# 我是单行注释

"""
我是
多行注释
"""

3. 快捷键

ctrl + D 复制当前行代码
shift + alt + ↑/↓ 将当前行代码上下移
ctrl + shift + F10 运行当前代码文件
shift + F6 重命名文件
ctrl + F 搜索
ctrl + C/V/X/A

基础语法

一。字面量

代码中被写下来的固定的值

1. 数字 Number:

(1)整数 int(与数学中的整数概念一致,没有取值范围限制!)

(2)浮点数 float

(3)复数 complex(以 j 结尾表示复数,比如 1+2j)

(4)布尔 bool

2. 字符串 String(要用 ' x ' " x " 或 '''x''' 或 " " " x " " " 包起来)Python里面没有char的概念。

3. 列表 List:有序的可变序列

4. 元组 Tuple:有序不可变序列

5. 集合 Set:无序不重复集合

6. 字典 Dictionary:无序Key-Value集合

二。注释

对程序代码进行解释说明的文字。(一款我的自言自语)

1. 单行注释 # 注释

# 我是单行注释。我比较规范。用我用我!
#我也是单行注释。可以使用,但没那么规范。

2. 多行注释 """注释"""

"""
我是
多行注释
"""

"""这样也可以哦"""

三。变量

C++是强类型的语言,你在定义时必须要指出数据类型。而python不是,它是你赋值之后隐性确定的。

name = "Ruru"
print("My name is:", name, "!")
# 输出 My name is: Ruru !
# 中间会自带一个空格欸

赋值:

# 多重赋值:
a = b = c  = 10   # 同时为多个变量赋值,三个变量指向同一个地址
# 多元赋值:
a,b,c = 10,10,10  # 三个变量,每个变量的地址都不一样

# 甚至可以:
x,y = y,x # 交换两个变量的值
          # 不需要temp啦!

四。数据类型查看 type()

查看的是变量存储的数据的类型。变量没有类型,但它存储的数据有类型。

# 验证数据类型 type()
print(type("Ruru"))
# 输出 <class 'str'> # 即string
ty = type(999)
print(type(ty))
# 输出 <class 'type'>

type的类型是type www

五。数据类型转换

转字符串:str()

PS:万物皆可转字符串

转数字:int() float()

PS:只有"数字"能转数字

如果int(小数):保留整数部分,砍掉小数部分

# 数据类型转换
# 转字符串
num_str = str(999)
print("num_str:", type(num_str))
# 输出 num_str: <class 'str'>
type_str = str(type(ty))
print("type_str:", type_str)
# 输出 type_str: <class 'type'>

关于int()函数

int(字符串或者数字,进制数)

PS:进制数默认为十进制。如果进制数不是10,就需要给第一个参数加""。比如不能写int(10,16),要写成int("10",16)。

PPS:如果int()中没有参数,返回值为0。(即 int() return 0 )

参考:python 的 int() 函数_python中int函数_小应的每天进步史的博客-CSDN博客

转复数:complex(real,imag)

其中real可以是数字或字符串,imag只能是数字。

六。标识符

用户在编程的时候所使用的一系列用于给变量、类、方法等命名的名字。

注意命名规则 & 命名规范。

可:英文(区分大小写)、数字、下划线、中文(竟然!)

不可:以数字开头

七。运算符

【/】正常除(有小数!)

【%】求余数

【//】整数除 返回商的整数部分(【/】是有小数的!)

【**】指数 10**2 = 100(可以计算9999**9999,很强大。)

PS:python里面没有自增自减运算符哦!【++】【--】

八。字符串拓展知识

字符串,用 ' x ' " x " 或 '''x''' 或 " " " x " " " 包起来。单引号里面可以包双引号,反之也可。

字符串序号(索引)

正向:0 1 2 3 ...

反向:-1 -2 -3 -4 ...

字符串切片

语法:变量名称 [ 起始 : 终止 : 步长 ](左闭右开。起始闭终止开)

s = '0123456789'
print(s[0:4]) # 0123
print(s[::2]) # 02468

如果省略起始/终止,就代表从开头取/取得末尾。(←步长为正数时。步长为负数时默认起始为字符串末尾)

可以用反向索引,也可以正反混合使用。

需要注意!起始、终止 要和 步长 一致

步长为正数时,起始字符要在终止字符左边。(不然就会返回空。

步长为负数时,起始字符要在终止字符右边。

打个比方,如果你想倒着取的话,一:要把步长设为负数,二:起始和终止要从右边字符到左边字符。

可以看看程序感受一下:

s = '0123456789'
print(s[-1:-5:-2]) # 97
                   # 因为左闭右开,所以不是975
print(s[-5:-1:-2]) # 空
print(s[-5:-1:2])  # 57
print(s[-1:-5:2])  # 空

字符串拼接

str = str1 + str2

求字符串长度 len(<string>)

字符串迭代 for in

for i in str:
    print(i)

字符串拆分 split()

这个很常用!

str = '012,34,5,6789'
print(str.split(','))
# ['012', '34', '5', '6789']

看,拆完之后是一个数组。

猜你可能会用到:去掉分割后的空字符串''

正常情况:

str = "Hi,,Ruru!"
result = str.split(",")
print(result)  # ['Hi', '', 'Ruru!']

去除空串: 使用推导式 for in if

str = "Hi,,Ruru!"
result = [x for x in str.split(",") if x != ""]
print(result)  # ['Hi', 'Ruru!']

参考:【51CTO博客 传送门

字符串格式化

(好像prinft() hhh)

name = "ruru"
age = 9
money = 1.00
message = "姓名:%s,年龄:%d,家当:%f" % (name, age, money)
print(message)  # 输出 姓名:ruru,年龄:9,家当:1.000000

字符串的内容非常多..!!

看博客,请。【Python丨第1讲测试题 | XORu Blog】(对不起其实博客里也没写多少内容

常用的字符串函数

可以看这里!【【python基础】python中常用字符串函数详解_python 字符串函数-CSDN博客

反正我们有个作业:

# 输入自定义的字符串,利用函数计算传入字符串中的数字、字母、空格和其他的个数

str = input("输入自定义的字符串:")

num_count, alpha_count, space_count, other_count = 0, 0, 0, 0
# 遍历:
for i in str:
    if i.isdecimal():  # 判断是否为数字
        num_count += 1
    elif i.isalpha():  # 判断是否为字母
                       # 大写:isupper()
                       # 小写:islower()
        alpha_count += 1
    elif i.isspace():  # 判断是否为空格
        space_count += 1
    else:  # 其它
        other_count += 1

print("字符串中数字{}个,字母{}个,空格{}个,其他{}个。"
      .format(num_count, alpha_count, space_count, other_count))

九。数据输入

使用input()语句可以从键盘获取输入

数据输出:print() 可以完成将内容(字面量、变量等)输出到屏幕上。

print(1, 2, 3, sep=',')  # 设置间隔为','

数据输入:input() 可以用来获取键盘输入

输入时经常用:

a = input("输入一个数字:") # 默认接收到了字符串
a = eval(a) # 把a转换为数字
a = input('输入一个坐标:')
print(a)  # str
# 转换为 list
a = list(a.replace('(', '').replace(')', '').split(','))  # 删掉(),由,分割

 学习魔法时学到的小Tips(?):

a = input(':') # 可以停住,然后随便输入点东西之后它就会继续!
               # 好有道理..!!!!!


判断语句

Python语言不像C++、Java等有这样的三目运算:

判断的条件 ? 条件为True时的结果 : 条件为False时的结果

但是Python也有更适合自己体质的三目运算符:

条件为True时的结果 if 判断的条件 else 条件为False时的结果

逻辑运算符

直接用 and、or、not。

优先级:not > and > or

Btw,you can do these:(上下两种等价哦!是pycharm帮我改的555

if a >= 3 and a <= 5:
if 3 <= a <= 5:

if-else语句

if 判断的条件:
    条件为True时执行
else:
    条件为False时执行
# else需与if严格地对齐

if-elif-else 格式

if 判断的条件:
    条件为True时执行
elif 判断的条件:
    条件为True时执行
elif 判断的条件:
    条件为True时执行
else:
    上述条件都为False时执行
# elif语法与if类似
# if/else之间可以包含多个elif
# else语句可以不写


循环语句

while循环

while 条件:
	条件为True时重复执行

for循环

 Python:

for 临时变量 in 待处理数据集(可迭代对象): 
    循环满足条件时执行的代码
# 从待处理数据集中:逐个取出数据赋值给临时变量

有点像C#里面的foreach:

int[] arr = {1,2,3,4};
// for循环遍历
// foreach 遍历数组用(只能正序)
foreach(int temp in arr) // temp相当于一个临时变量
    {
        Console.Write(temp+" ");
    }

range语句

Python:

用于获得一个简单的数字序列(可迭代类型的一种)。

语法一:

range(num)
# 获取一个从0开始,到num结束的数字序列(不含num本身)
# 如range(5)取得的数据是:[0, 1, 2, 3, 4]
for x in range(5):
    print(x)
# 输出
# 0
# 1
# 2
# 3
# 4

语法二

range(num1,num2)
# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
// 看!still左闭右开
# 如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]
for x in range(5, 10):
    print(x)
# 输出
# 5
# 6
# 7
# 8
# 9

语法三

range(num1, num2, step)

起始 : 终止 : 步长(左闭右开。)切片的时候也是如此哦

# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 数字之间的步长,以step为准(step默认为1)
# 如,range(5, 10, 2)取得的数据是:[5, 7, 9]
for x in range(5, 10, 2):
    print(x)
# 输出
# 5
# 7
# 9

C#里的随机数数列:

// 随机数生成:Random
Random rd = new Random(); // 这很js!!
int rdd = rd.Next(1, 10); // 值域(?)范围!
                          // 左闭右开,所以实际上是[1,10)哦!!
Console.WriteLine(rdd);

continue关键字

临时跳过:暂时跳过本次循环,直接进行下一次。

break关键字

直接结束:提前退出循环,不再继续。

pass关键字

= do nothing

有些地方不给空着,就可以写个pass上去!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值